<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dco="http://www.ducommun.com/20221231"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="dco-20221231.xsd" xlink:type="simple"/>
    <context id="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia656de471f88474ab5a8e3de78bd12cf_I20220702">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <instant>2022-07-02</instant>
        </period>
    </context>
    <context id="icfc7d4c2ef4b451cb21bc9528b467ff0_I20230206">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <instant>2023-02-06</instant>
        </period>
    </context>
    <context id="i3d993dbd6e66404ba11395a234d2f808_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7f800e2ef6e84a1e855f5535b50e4020_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i84b2d1a39c9f487daf67b2a21839e28c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i089e415518d543eda442f2573291b979_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ia1ac5a0f34344165ba39af81d8059640_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i94fd5460279c4bf6a7f70af8047e4682_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ia1ce740f93534beeb0ed3a80118f1138_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2de858233029475db8f3289fdfd44aa8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7bd20b2a52494d12acd517f5ced7e1ad_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if5f0bb60f0c144c599c2d0858cb2d344_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5ea7157920df42bdbaad5ff448989f68_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id2da83df7a954d9aa2916a53d8d52cf9_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0d6afe43e9294a43b9145fc9768371d8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="idb438868b1d945799c483c9b6c49eb50_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia9dbee6068ff40d88ddc84ad844dfc0f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i135be3338504467c88a3e6b8d068dc04_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifc538fce0f7e4ea98adba4f41b1ef4ce_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8d564002c6ac45b7ac24a123d1d459a3_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifffb9fd03bd94c7b83aab1c4d2a125e2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ieb15da6863d34490b853f452dd873928_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i46270d082814490a99c0c012de5e3baf_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib336e5d821014b29a2eaeb6219635513_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5a2da5814b194bdcb5aa05e0b09eccf2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i86a870eeaa324c6aae04b39eaecf5e7f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i28f1d84db7144be582a2d1f3ebc8ba9d_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i34fec7472eee4759b55e6d82e285ba0b_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i9a45f77e7d814c7b9f8bad76e55414eb_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ife330bfe8f3b4249b5fa349cc4871136_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i26db01f4099b4eb0a839d481bef338ea_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i09d6a117d63e4faaad8e8f639641dc6e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i37f08b237cba47fe884a5e16fe80966b_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i6c3d4df211034646a886444c22b829b3_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ibd79a31663f244038150949d03c041f6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i92648ee113ab487581edf3bdec029b70_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5c94b53178784bf58edf989179a47963_I20211130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-11-30</instant>
        </period>
    </context>
    <context id="if4c2530a83874379be59a437e8f979be_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i16cd84ddaf9942a7ab13b47cf61a03b8_D20221002-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-02</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i7d9cba7f9bfa4a8f818625121a9d0d20_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i05e2158e94b2482a91b84939eaf2a1e0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2829a552f2c94de3a1f44b8543ca0ea2_I20211216">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dco:MagneticSealCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-16</instant>
        </period>
    </context>
    <context id="id67a7f76848a4c2ea391417d52ce6037_D20211201-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dco:MagneticSealCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1e824f6a0f694eb8ad20dd76944a1688_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dco:MagneticSealCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9d97427ddc284e3194e377dfd01c0663_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="icd85f7f6e356460ab669ee7e890096da_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="iec8a339a22ad4e6bbb367f48d0541feb_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i1ca6f17e04114b0c8e58baebf381482f_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:MilitaryandSpaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="iac17959d5e914878923be531ed6335ac_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:MilitaryandSpaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6722f0c1a4234003a53e565edf723d46_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:CommercialAerospaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i865c5164ebc942f69719d624a63c7622_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:CommercialAerospaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iaf9feeb4f74846c1aeb1f4c0fde5e7b8_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:IndustrialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="idd66ceaa6707470f9b05d18d6dd603fe_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:IndustrialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia38d2bd545334b6d87ecf763a7f66f47_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:MilitaryandSpaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i22ff880c357d4924a0ea2f2f562aeb22_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:MilitaryandSpaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iacb757cd0afb49939dd587c347b9fe1e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:CommercialAerospaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="idd0f9d556b324e92913a7ec98597a1f8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:CommercialAerospaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0048c5e3f19842f0a47000bf116cc21f_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:IndustrialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ic0203ef3020441b6beb243d6a812bdbe_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:IndustrialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i142096b2858541bc87aac6f49e899276_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i4a75653ddd45482d96c6fd5cc8c2358f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1d55f749c3274646b06950368d41658a_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:MilitaryandSpaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ic79497eadc3e451e8c4ce60cb13a8c41_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:MilitaryandSpaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iec088e82b4e44abeb5cf3f44449c17c7_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:CommercialAerospaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i945e74a4d92f49afa679fe6b1e684ff5_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dco:CommercialAerospaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia7b8ad691be742f1a128fc2577691903_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i4ffbdbb437974117aed7ff326e5f1580_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i542ca7cace334d78a7b910884db231c5_I20211130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <instant>2021-11-30</instant>
        </period>
    </context>
    <context id="i8e593fbce2e9496ab5fff6135accd14f_D20211130-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <startDate>2021-11-30</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i64497dbf002f436abfcee998f9dc72a8_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ib4516b1c39654cf692b58ea0489c0f66_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i203aa87a79f449f2b7026ae8c4482347_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i175f38c5b37443b98671263ccfd11685_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6257d54634cd45ed9278c30932273475_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dco:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i3f3d34d0f8a84310a0c3e99bbb87596f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dco:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i51f236e48d8e465fb95fb2fd2676ea11_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dco:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i0339b02162f64d4bbbfb573d53daed4b_D20220403-20220702">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dco:MagneticSealCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-03</startDate>
            <endDate>2022-07-02</endDate>
        </period>
    </context>
    <context id="id91dd4d24cfe437ea373da0556a0bd48_D20220403-20220702">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <startDate>2022-04-03</startDate>
            <endDate>2022-07-02</endDate>
        </period>
    </context>
    <context id="ib99b9843811840fdaf9717999e231ba7_D20211201-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dco:MagneticSealCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1bac18badc3749889e464aac1731ab5d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dco:MagneticSealCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5bf1175dd32941cbac38b0f82f126eab_D20211201-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dco:MagneticSealCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0d8fd058cf2547da94723de81e571c35_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dco:MagneticSealCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i86c260e5db6c4d34aba4c4e1c5fc2221_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dco:MagneticSealCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie0985d8d4a88472e86567ed2b91ed304_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dco:MagneticSealCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iebf85a09d01744978b1ee81f3a91cb7d_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ief0f0f38d7804b89afca6486b75ed7c2_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7d9d5d521a304c5b9fdaef8329177b32_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iab347403df924356a798937efcaa68c6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if5db027811894f67a7ff0f45976e5592_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2832ee908295412ba591a433af42890e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:PropertyAndEquipmentImpairmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ie0a5a55fbf3d40348b7b567295370cbe_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:PropertyAndEquipmentImpairmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i95bbf32d6aaf41ae8cb27b543ad9226e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i6cce5fd71b944fa3acf2d2fe96a7d199_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:PropertyAndEquipmentAcceleratedDepreciationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i6f675b95825342e7bc83c9a017864738_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:InventoryWriteDownMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia5144181c3f84746b3a7f61bf799da3f_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i349e77e6795d4d9f82082de6b887069c_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ie0136d97085c4d6c9b23bc6937bf0be0_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:PropertyAndEquipmentImpairmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia213f6e00b8247c082404590ca694ba7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i754a4ef6739342fea82eb582bde7d576_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i70aaaf880e554815a8f5f024a2acbbc1_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2b92210c2dd9472091fda71f024b0a13_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:PropertyAndEquipmentAcceleratedDepreciationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8fe164314a84439891dba3e4fc5da03e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:PropertyAndEquipmentAcceleratedDepreciationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ic6a3291b85fc463881acd8237d81025c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:PropertyAndEquipmentAcceleratedDepreciationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i857fcac46683493683cc545e0ba8344d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:PropertyAndEquipmentImpairmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3dd4d241354e45d29a0cfcc06c234d9a_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:PropertyAndEquipmentImpairmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia939db7efe944dd59d51115f626e9a6d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:PropertyAndEquipmentImpairmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2e8286d88adc41b2b471ec5a8a1070f7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:InventoryWriteDownMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibe59909cfafe4794a1d0dd68a73564cf_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:InventoryWriteDownMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i51a0414b5fec4ca987f8e45edccec4f8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">dco:InventoryWriteDownMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ief25297cb96541d5a18cd5f38cca24de_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i285e2bf52ba748298f54d527a8ea14b0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dco:RestructuringPlan2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia51964cf44ac45ebb2b4e8a9c7f0828b_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i1e1245e2e39c476e99850b40b407f11a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic99d9b0611474086a03a7142df972cfd_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i14d33b274d1d446bb8280657bcbe5fb0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i47316452f52e41058ebb1d73ad0e794f_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ibdee92c7491148e398bf8dae6ba77e18_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i358ff31fe1fe4c16bd41ed78d376bc3f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id98a049a56814e348d1ec83b4109255d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i70603193c5534d3f8682d974721384d1_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="iff0e34518c5c4ad1b1f161a96aa24b58_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i45d5a7f890ae4a9195e5602f714d78fb_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i66e7d18ff6e34714a809ae658b5e21df_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i92ad74eabe344742be4b773d3c4e9d12_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i95524ca6c0514e6483a7ac1e9affca91_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i376d608d84af45f0a32c46575ca29106_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i77d95f43c3414bfcafaf440b83882e4d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib7513b90a9914d56b9bced16f329a741_D20211201-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iab234bdd301c4b42b5ce992a4903258f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i51c5583deaa9413696584f0d938f2313_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i103ba865c2bc4368ac4eefd7b8addf7d_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i20d1e41d3e0f45438c28f7d7a114502b_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i5717d2154c1b4ebba9b1aa6bc1b21d07_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7d263d72d42c45a1af7d69a2a1e2ce2e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i5bfa4f4eeb614ec79893cafa2ab9fd67_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i6bc79a68545543778c26e72cbb0a479b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i90fc00702159418e810d63f006541906_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dco:ContractRenewalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia72782f65bc14df4a969174d7ed4ad28_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dco:ContractRenewalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ibf20716bae4e40dfabe1f716ce72822b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dco:ContractRenewalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3f5040a6cc4e4e9fb5d65bb4d2b55557_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dco:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i30b73ffa77414c15907c1d75fcf31fad_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dco:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia97db44fcd4648568206cd3bd626a775_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dco:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i323ceb1ef64c4793949ffc209dc28306_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i36d80aa24a654e0e953f4026941c2623_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7bab04584c3346b1ba223160f43cbc77_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie8484675034044d9855fd1781221ff34_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i07a0908e682e4a9bb5f58b6d6456171c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2ed9f0b47a8649fb9f67fabb9cd91212_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">dco:SeniorSecuredTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i5663e46a1663410ba57d5532dbe03f77_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">dco:SeniorSecuredTermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0854d9b3680d468a81d651dc23aabd79_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if1bce70a87454f37a3dcf97a2c4861bd_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i070a3cb6197946b4bb2ea0c8784321fc_I20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-14</instant>
        </period>
    </context>
    <context id="ie56bbee34670401ca69ef8a1e77fa5d2_I20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022RevolvingCreditFacilityDueJuly142027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-14</instant>
        </period>
    </context>
    <context id="i06ee90464de74609b5dbdb79ec8a2c60_D20220714-20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-14</startDate>
            <endDate>2022-07-14</endDate>
        </period>
    </context>
    <context id="i5860faf1ae9b46cab7094b0056105d05_D20220714-20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-14</startDate>
            <endDate>2022-07-14</endDate>
        </period>
    </context>
    <context id="ibb37fc8f7e844eaeadb08b4ec9b0c677_D20220714-20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-14</startDate>
            <endDate>2022-07-14</endDate>
        </period>
    </context>
    <context id="i21f727e47b4c4f668d882ca5b003afba_D20220714-20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-14</startDate>
            <endDate>2022-07-14</endDate>
        </period>
    </context>
    <context id="i1ca2aa4f4278429ba8db9b7561614795_D20220714-20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-14</startDate>
            <endDate>2022-07-14</endDate>
        </period>
    </context>
    <context id="ib5cb99ae6adb4593b9461b6561978033_D20220714-20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-14</startDate>
            <endDate>2022-07-14</endDate>
        </period>
    </context>
    <context id="i7b40048d6d504aae915f35756233c4ac_I20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dco:DebtInstrumentQuarterlyPrepaymentAxis">dco:DebtInstrumentQuarterlyPrepaymentYearOneAndYearTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-14</instant>
        </period>
    </context>
    <context id="i20e0fa77d09d42af80e105e13a643740_I20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dco:DebtInstrumentQuarterlyPrepaymentAxis">dco:DebtInstrumentQuarterlyPrepaymentYearThreeAndYearFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-14</instant>
        </period>
    </context>
    <context id="i6c42529e34ae45d4aeff7be41210398f_I20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dco:DebtInstrumentQuarterlyPrepaymentAxis">dco:DebtInstrumentQuarterlyPrepaymentYearFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-14</instant>
        </period>
    </context>
    <context id="ie9dc35fe5dee4fff9c5dae58dcee4109_D20221002-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-02</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i2e33e04fea004db1893e4ccb2c8868b4_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022RevolvingCreditFacilityDueJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ic7899c834c0d44b39481cf24a6471b67_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022RevolvingCreditFacilityDueJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i4b945ae6d13d4328866213389fd39559_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022RevolvingCreditFacilityDueJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i115321a46cb743bebdd5824c534e1b3d_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022RevolvingCreditFacilityDueJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i6a36fbd44e2841189f6f30b768f733e2_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022RevolvingCreditFacilityDueJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i11cf978e2e0c4c5d96d6f163f998f8c1_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022RevolvingCreditFacilityDueJuly142027Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="iaad60cd962e948e290f520495ed1f4cd_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022RevolvingCreditFacilityDueJuly142027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i62c8c9475c3b4c768622a8cb5c1936fa_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022RevolvingCreditFacilityDueJuly142027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ie4d346036e8d4197863ba599d46f55ae_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i312ccb3344a849b1ac33bd56c689bce0_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib4897fa8a4c44036935b70891ebf34a5_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018RevolvingCreditFacilityMaturingNovember212023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i812d748778ce497c9a7e7854fb4e68f8_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewTermLoanMaturingDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i163ccc798ab34b85829c886a3e3bfcab_I20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018TermLoanMaturingNovember212025Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-11-30</instant>
        </period>
    </context>
    <context id="i8939340de47a498e831c351e3bbe6569_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:CreditFacilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i63a7e4ae309f476bbf0c511a1b4c411d_D20191220-20191220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewTermLoanMaturingDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-20</startDate>
            <endDate>2019-12-20</endDate>
        </period>
    </context>
    <context id="i5ce80f48b25c43368e3d29acf550e79a_D20191220-20191220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewTermLoanMaturingDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-20</startDate>
            <endDate>2019-12-20</endDate>
        </period>
    </context>
    <context id="iae1e07cebc9542818cc0987f9957e004_D20191220-20191220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewTermLoanMaturingDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-20</startDate>
            <endDate>2019-12-20</endDate>
        </period>
    </context>
    <context id="i71571e52046946e58977bde1b02d9347_D20191220-20191220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewTermLoanMaturingDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-20</startDate>
            <endDate>2019-12-20</endDate>
        </period>
    </context>
    <context id="i25a2eb1fdc0645b0bb1179e6af5b6a82_D20191220-20191220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewTermLoanMaturingDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-20</startDate>
            <endDate>2019-12-20</endDate>
        </period>
    </context>
    <context id="i0d2aba2fce254b99891e701fd46afd55_D20191220-20191220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewTermLoanMaturingDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-20</startDate>
            <endDate>2019-12-20</endDate>
        </period>
    </context>
    <context id="i45945b2e53534cc19b33aabeec2bd3e9_I20191220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewTermLoanMaturingDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-20</instant>
        </period>
    </context>
    <context id="ia6574ed566494a10996418e1e591fd0a_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewTermLoanMaturingDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="id45f930d5a75410b85e17178a07466d2_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i355387964c024e40880f4c65e1ab1198_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i19412b463e6a45e08e11037299c4fbb4_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ide62cd81fac7488b91de2e87f9ca48f1_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i594aca6f2f2f478b8c6e8eb9bf5c638f_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ieb089c2b3e5c43a2b4c04792ca91ae24_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i9dfd3ef93ea247ab9b4261ae581ad20a_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="icd0a0a1fa87a445685273adb9fa48410_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ie4abc6a835224f78a4d68850965c2f32_D20181101-20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018TermLoanMaturingNovember212025Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2018-11-30</endDate>
        </period>
    </context>
    <context id="i7de47fe4a2fa4125bbc0c009578f473a_D20181101-20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018TermLoanMaturingNovember212025Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2018-11-30</endDate>
        </period>
    </context>
    <context id="i851df3369f8e4145a7552973bfa03740_D20181101-20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018TermLoanMaturingNovember212025Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2018-11-30</endDate>
        </period>
    </context>
    <context id="i424e120d0cef4c888d1c81ede647ef97_D20181101-20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018TermLoanMaturingNovember212025Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2018-11-30</endDate>
        </period>
    </context>
    <context id="i4b541bfe907f4cbc9be8372e5013121a_D20181101-20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018TermLoanMaturingNovember212025Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2018-11-30</endDate>
        </period>
    </context>
    <context id="ib1f0c514a6e24b4da4f49bd07d21aa90_D20181101-20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018TermLoanMaturingNovember212025Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2018-11-30</endDate>
        </period>
    </context>
    <context id="i8d4c7b46c39f4b21a1b614b11861a2d8_D20181101-20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018RevolvingCreditFacilityMaturingNovember212023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2018-11-30</endDate>
        </period>
    </context>
    <context id="i5d0464222ff04382b8f3d0db2bd7f9e1_I20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018RevolvingCreditFacilityMaturingNovember212023Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dco:DebtInstrumentConvenantAxis">dco:DebtInstrumentCovenant50OfExcessCashFlowAmountMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-11-30</instant>
        </period>
    </context>
    <context id="iecd861392deb4a878ec1411fd75aa818_I20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018RevolvingCreditFacilityMaturingNovember212023Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dco:DebtInstrumentConvenantAxis">dco:DebtInstrumentCovenant25OfExcessCashFlowAmountMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-11-30</instant>
        </period>
    </context>
    <context id="i1c6c984893494abfae0ba504ebc32cc6_I20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018RevolvingCreditFacilityMaturingNovember212023Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dco:DebtInstrumentConvenantAxis">dco:DebtInstrumentCovenant0OfExcessCashFlowAmountMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-11-30</instant>
        </period>
    </context>
    <context id="i84355a1f3f9b47698a16e7c76e0d1411_D20200101-20200328">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-28</endDate>
        </period>
    </context>
    <context id="i7d8639cb431247ddaca0436fdbcbde49_D20200927-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-27</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5594e3ed8d624b98b2bff0df556b44aa_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8a0f52b701bc4ca2be3b06726156b1c2_D20220101-20220402">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2019TermLoanMaturingDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-04-02</endDate>
        </period>
    </context>
    <context id="ia62ae3e02fe341bf8ee2418020b975d6_D20220101-20220402">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018TermLoanMaturingNovember212025Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-04-02</endDate>
        </period>
    </context>
    <context id="ie7130d48eac044f281206234805f3ded_D20220101-20220402">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-04-02</endDate>
        </period>
    </context>
    <context id="i99e4bb17cdd8482380a91a304ce97b1a_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022RevolvingCreditFacilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i65d0dd69475040aba3b8173e32e395f6_D20220714-20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2022TermLoanMaturingJuly142027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-14</startDate>
            <endDate>2022-07-14</endDate>
        </period>
    </context>
    <context id="if4d7fe5a3f654886ae2e64015b481bb3_I20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018TermLoanMaturingNovember212025Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-14</instant>
        </period>
    </context>
    <context id="i55e81261d80641519dd58ae8c9ef8418_D20220714-20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2019RevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-14</startDate>
            <endDate>2022-07-14</endDate>
        </period>
    </context>
    <context id="ie932223b4d2a4c1e981572b469318d99_I20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:A2019RevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-14</instant>
        </period>
    </context>
    <context id="i5b390d5e547745c4af05f8f4f3fb13f6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewTermLoanMaturingDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia3330bb5f9944270a7c8aef2714ebff4_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018TermLoanMaturingNovember212025Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i517b12d8e0134e2082c58bd9628285a9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018RevolvingCreditFacilityMaturingNovember212023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="iee7931bba2d241c08f3f39cf468249d6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:New2018RevolvingCreditFacilityMaturingNovember212023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i607c6691cc80469ea9b5b7aa259322d9_D20211201-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dco:NewRevolvingCreditFacilityDueDecember202024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i88aa66033f3147a0bc6a66c68007a3b3_I20211129">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-11-29</instant>
        </period>
    </context>
    <context id="if73bdc74abe1481ca259df3e5782a592_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i0a723116b3c346108a2be29606fea7a1_I20220714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-14</instant>
        </period>
    </context>
    <context id="i4d666a7369ad4633b493e15158ee11b4_I20151031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateCapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-10-31</instant>
        </period>
    </context>
    <context id="i1aadb47910a44324b9c8c13667afaa1a_D20151001-20151031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateCapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-10-01</startDate>
            <endDate>2015-10-31</endDate>
        </period>
    </context>
    <context id="i94b23eb1b8024f4d9c01101b7a52efc6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dco:A2020StockIncentivePlanThe2020PlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3a5749ee9cf742ada41c2945bf1c86dd_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i30ddf8a352324384b6982dbd0a355b45_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i31fec937ef024f54b598868cb14caf7e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i8c41286c6e7f4b5e927e6e2dab757117_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i01a85367327443ad88e4e6e85957be36_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i872ce53e4b33460da2c9e49cf6302749_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i4e0f9b65fab64708a2b74d5775378a58_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia4afb9133b664b5aaf5dad7662902ce7_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i95787af29b8a43509d62317572c0f292_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ie78c2b0199fd4738a29f9ac1bacd0cdb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id3fdef440b8d46fd9a8a8bde9059dfe9_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i60ec3b16fc704948b446e1569ff48a5e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="id95fa9be3ec84cc3820282c115afa16c_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i8b21e652c01c4273aeac37b7f091f071_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="if8ac67d0cf764176b5be1a546fade5ce_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="icad3ae5b94004f2fa9dada49276d750a_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i123c20881f6946dd935902860d51c105_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i534490f360764011ba62523d4c108ae5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i35f15872977947d695bc745b3735fddd_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibe9e45183b894de3ae15b5758de7b33d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ica8e4dc6bdf740d28bdff813129f1fdb_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dco:PerformanceBasedWithMarketConditionCashSettledLongTermIncentiveAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i209adf13c01c4d68b1a612d4288e90c3_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dco:PerformanceBasedWithMarketConditionCashSettledLongTermIncentiveAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i19ea0b515b274578b39837f9584a51f8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dco:PerformanceBasedWithMarketConditionCashSettledLongTermIncentiveAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i567dba380345413db110e5d5039d80e6_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">dco:DefinedContributionPlansParticipantGroupOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i1fec84eb80384839bf605777c8e2f79e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanEquitySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i76e5241723e9401bae494cd477a5f1fe_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanEquitySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iaa96a4467c2049dd8672ba4676b391a9_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanCashAndCashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia0e5fb19b3f2450286bde9c79f47e4a0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanCashAndCashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i77b77ca668b04595bae672f9c952bfb6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanDebtSecurityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i73258a9ea6614d7b94b03f1379ecba78_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanDebtSecurityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i38714ae4df2d4ef899eb349815705900_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanCashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iecf65f4b2ef642ad8dfae880ec9b5e11_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanCashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i850295c7d96b4bd4b2d5b0c72032a81f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i41e67615c4f44162b6b019290109d6e7_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i96ffdd4a8fae464ca7119d02d30d5857_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanEquitySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2e3309bf4ef348b19df129719720da74_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanEquitySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i219b9cf8d08a44cdace1f0a862974662_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanCashAndCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i925ae21c1d7840f8933dc1ed6a803abc_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanCashAndCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id1add76a1e13400aa30ed58f83dbe742_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanCashAndCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ib53f5cc0498043d39c46a41ee487120d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if82d9a61da834da684dbf056c8a515f0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id07c6e0980ac472190df7b042612807b_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if604b5e5366b44bda29bfe2d1f7c8827_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9b9ccab6957a4f7bacdbe146d73b2d6e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanEquitySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2b22aa9ff6f8446db764773622b3755f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanEquitySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i0e8de87b734c4321927207ee003d85f8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanEquitySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i19f8ef13cbde467ca2ae0a3c1ee7d998_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">dco:DefinedBenefitPlanOtherInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3dca405d3acb403b870c4d43e8528bbf_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">dco:DefinedBenefitPlanOtherInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia69e4c9a16c648ddb688d4d74614a43d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">dco:DefinedBenefitPlanOtherInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3b5092dad4fd471d95cb2d06a11c8211_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">dco:DefinedBenefitPlanOtherInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if45606b3d58e4cfe86e9012672035c71_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if0aa91a24de248d6b12a1879bd40bc1f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i52122fa9a912471fb105c5ef2ab2fd66_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i75d795121cf4484da0ce431a6ce57cc8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanCashAndCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia94c738ea9074cafb6327be84f85b730_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanCashAndCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0181b9a09a0f41878fdaac82512c678a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanCashAndCashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i073eadaabf2e489b8152c0a7feb7e837_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i6e1b096ba39c4909aa5c7c9fff454fc2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i748ca2e7900d4a6686b5f55a05fd8d18_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if8a6592ff5b84bfbb7368ab884a3d43d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i20d24d70178f4181bdb80dd2e9f67beb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanEquitySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2c2015cbdf1945ef8f755f5426322bee_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanEquitySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4afba99dc3a5404a8d0152175a1cc83b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:DefinedBenefitPlanEquitySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i27bb94d99dd949b08d054993b2cf0b05_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">dco:DefinedBenefitPlanOtherInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i84487ef1ff9e498ca03c3eaeb3914ee0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">dco:DefinedBenefitPlanOtherInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7e08ca30b6304cfea020b58009714033_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">dco:DefinedBenefitPlanOtherInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i079ffafe79eb47d0ae61e644d4401d45_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">dco:DefinedBenefitPlanOtherInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8f55e04fc21a4493bbaee445e1e3bd44_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2e917cca99f84bd8a8f75b54209d576a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia374ea2f4bfa454c99a52c5172974de6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iefbe57791862465799689c37d93154d9_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="id47ac82dc0784f6cb9134b980ecf59a6_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifd92de81410349cc8f6bbe11fea51a06_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i45804ac0fdf04cc38d5bc7b3eefd0e6a_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:OtherPostretirementBenefitPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i3cd0c31fe52d4670bf2c6184600de29c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:OtherPostretirementBenefitPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iea0a611ff0784288abb9248879a6bd04_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:OtherPostretirementBenefitPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ia098f9f374dd4c61b612fa295800a541_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iba2569d71d924b20918e8e026d54a07f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia7e736465b1f4ae1a8787ddad0a7d622_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id43c21a868084d58b58959c0d20443cd_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:OtherPostretirementBenefitPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id8269a54c2b34a32877b078f351fe5ee_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:OtherPostretirementBenefitPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic2b7b6bdba744dc491a7180b03d737b6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:OtherPostretirementBenefitPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id78d9b97f9c04606a525a1ede35e4491_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dco:DeferredCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i078cf2f3d8cb48bdbaa2749f69790434_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dco:DeferredCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibd462a05254d444cbc0868b4a5dc906e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">dco:ExecutivesandDirectorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2b2cbc3a7b9b42ef810304c68c0ff5e4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">dco:ExecutivesandDirectorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i52227ec1ff0140eeaf4c8d85750bd2f5_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9fd61bd0b2224ecf9cda748f2ab3b558_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9c080f352dbe463ab30f4e731834b978_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="icb1dc19849af496dba81fc3b38e9d802_D20220403-20220702">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-03</startDate>
            <endDate>2022-07-02</endDate>
        </period>
    </context>
    <context id="i042c6de445664e2bbe82c7488d1bcb6d_I20220702">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-02</instant>
        </period>
    </context>
    <context id="i46ee029902c842d5a16b9282e35aaf97_D20230117-20230117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-17</startDate>
            <endDate>2023-01-17</endDate>
        </period>
    </context>
    <context id="if45d9e008ce64c238ae8284daaf543f1_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">dco:LocationOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id7ad5721dcdc409ca2be93bd3881939f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">dco:LocationOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8b0d6104f38a4a469451efa2d9004a9c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">dco:LocationTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7497cf308d6e4833a18aeb55fbd5d5c6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">dco:LocationTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7a2abebbf5c143558ad99e87f5de38c5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">dco:LocationTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4e9ce19020fe45b7a2c778d0da4c07de_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">dco:LocationTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i480509088e1b4e1aa8cbe70937925ce7_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">dco:GuaymasMexicoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:DamageFromFireExplosionOrOtherHazardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="ibd3711146e0640e5b56a1fb75ff3aa48_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodReclassificationAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">dco:GuaymasMexicoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:DamageFromFireExplosionOrOtherHazardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8dcceca04a174a1fa48234ed8a34a2b6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">dco:GuaymasMexicoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:DamageFromFireExplosionOrOtherHazardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia1640dcefd254316badc8b0217ec3f8e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">dco:GuaymasMexicoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:InventoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:DamageFromFireExplosionOrOtherHazardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2317df220ff344059e72c6afcef22b09_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:DamageFromFireExplosionOrOtherHazardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ifcab7f3c4deb45a4adcfbbadcf883f7e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i1a47181bfd2d4c38ba6b671fe24e2f84_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">dco:GuaymasMexicoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:DamageFromFireExplosionOrOtherHazardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ic4ddd4e4fcc047839993f11893397f5c_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:BoeingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="if0f3391491c34f139381645fdecdc1e5_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:BoeingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i031d6c9369d84c5b8c6c32ce2881ac54_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:BoeingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5eb6703ccecc49eb8fb73c66e2c14138_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:GeneralDynamicsCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ica7f9625f0a245d2971549788d762e6d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:GeneralDynamicsCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3d1c2a9087f84f5790567c7fe2e3aea0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:GeneralDynamicsCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic72e73e466fc4bcd9a0b8bb4c4d0d322_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:LockheedMartinMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i8927dfef75734e4191efe2d0792be27f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:LockheedMartinMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if4d07483d5ec4031825acbc545a1207c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:LockheedMartinMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i545c08c2c265445fbb3c8b31349f507b_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:NorthropMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="iadbcc122c65d4aa590f622b555820840_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:NorthropMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="idb6fa458a234406994315d36682f42fd_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:NorthropMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i29fa125f4834434f9a6a2abac0906286_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:RaytheonCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i4194ff5985504b649e46373dba983e87_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:RaytheonCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia07510ae82c940e083f3d18e3e036ca5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:RaytheonCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i087edf30966d4bc5ab35596ebb86e323_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:SpiritAerosystemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i56a29cba39cb44a59d9faee6744756f2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:SpiritAerosystemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic4d570f31eae4f4b93b9f93401ad1c0f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:SpiritAerosystemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i92f338d2c2154c1eac3d40b36ef9a222_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:ViasatIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i3a256229926345b286503c3bc646de40_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:ViasatIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4c6544d3459b4c8ea3c8b8eb15ec75c7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:ViasatIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ia0fd735b6aab43b09977f48b71f1e9b8_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:TopTenCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i74eda6d26c9949ac94089c5f47e083a9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:TopTenCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1ce85f8793a648f4935d3e77c5f7de8e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:TopTenCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id26f3a767a2d447fa192b0543d31c9a7_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:BoeingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i99ec262792394233973da81faa8d6c64_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:BoeingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i89709fe956524dcc8fa927573b123b5b_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:GeneralDynamicsCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ied606f4eeb0549e4abe768f1cb5c1336_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:GeneralDynamicsCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1b45d8203b09457c920ed544bea1500d_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:LockheedMartinMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ie59a15a55aa1412ca0f946bfb08b52ff_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:LockheedMartinMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i176b32aa724a4d9e9dc325ab8c36396d_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:NorthropMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i47eaceb7c7864778b69d5812a0075da3_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:NorthropMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i82cd34f328534429b13e04f60b1bb1d8_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:RaytheonCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="iaa037ab55b754628ae19e037f3257644_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:RaytheonCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6019101de26d413d8d0b5c8bf842da02_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:SpiritAerosystemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i1c938746ea30490286d0bc5b02edd244_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:SpiritAerosystemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i67c7ab04be084bf8872921b39ceb2809_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:ViasatIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i13bb790aca6747c1891788e8eff140da_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">dco:ViasatIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iab0575f5588b46d38fb0d5b671fc591d_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i95cf95594538472ebed567acf27eb239_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9ffc2e2c0adc4c11911bac29af310d28_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8fc36f5d8c9547f28a4c1ffb26132b8f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i10b5a39211bf4fd7acba18e449706eab_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i7a824238d0d24714851195bcee5dfa42_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iea4330cbcccf4bda863ff9945e99bfab_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i048a8502f826475babcd7e0ac440c81a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie391ca302e5a49fdbf80d9b0f9d5032b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i43b212c13d45473989a853fd65846763_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i38e57fb4962241149cb8eff37a3935bc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1773e15419b6464db186b1f2071e79d9_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i327133bff0e74a6ab3faf682eb6afe07_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i1ecf301b704d4a6482860acacab2d047_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i02d0eb13009746f88a59b83728c09bb7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i660571009f4e4ae4916ee3de6063a3dd_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="iacd006ecb0a04699b29c912740f559b5_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9ec19b3356ae4f96b3564c46b121cdb0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i090c0a9cdd7a49fb888fd1eb75abf871_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ic2c1de930f2e4ba1b507d98a323843d1_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:ElectronicSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4f9f52be2e9647ee99826ea66fcb7ba8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ife0149af1f3e4c10b4cff3674f321a9e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">dco:StructuralSystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i13649c4e47eb49bf8da1b71474b66af2_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iacee5d28db6649efba1bb089240ec2f5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if83ae2cfe6b54425aa6076f6eb5fb4d9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i73ce3960413c41619534bb5f7ae9d424_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i2aa744a28e3144cab74e5a12c2f3a3c6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ied7c5750308d4a649dd37175886cb372_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i34b5e11ae9a54fb9a27fa1573cd9d703_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i46e4f62a28d346b3995967216e85f16b_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ica2a67ea23c14c5bbb889434aa055f0f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i91b6684f1f6e43a482aa92348585c2ac_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iac4c6654e9554744b1ef9bb9ac8c33a4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2fd4a0b1530c417bb09caf04183fbff8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i24add7c735a84fdc83bf9614469bac07_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="id7d0f11a18dd46bda854eea0741f7391_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id9224af6790c4f4698d922159ad1c8bc_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1fff300b6c8f40d584eb39a70ca7fa7d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000030305</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="segment">
        <measure>dco:segment</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="renewaloption">
        <measure>dco:renewalOption</measure>
    </unit>
    <unit id="plan">
        <measure>dco:plan</measure>
    </unit>
    <unit id="compensation_plan">
        <measure>dco:compensation_plan</measure>
    </unit>
    <unit id="building">
        <measure>dco:building</measure>
    </unit>
    <unit id="sqft">
        <measure>utr:sqft</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV80L2ZyYWc6ZjAwYTMwYWMzMDEwNDU2NDhiNDgxMTYzNGEzYzJlYjMvdGFibGU6NmM0NjQ4YzYxYWY1NDE1NWI0YjU1ZGJiOTE2NzNkODMvdGFibGVyYW5nZTo2YzQ2NDhjNjFhZjU0MTU1YjRiNTVkYmI5MTY3M2Q4M18zLTEtMS0xLTIzMDI4_dceba293-42e1-42fb-9691-662c38887a40">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV80L2ZyYWc6ZjAwYTMwYWMzMDEwNDU2NDhiNDgxMTYzNGEzYzJlYjMvdGFibGU6NmM0NjQ4YzYxYWY1NDE1NWI0YjU1ZGJiOTE2NzNkODMvdGFibGVyYW5nZTo2YzQ2NDhjNjFhZjU0MTU1YjRiNTVkYmI5MTY3M2Q4M182LTEtMS0xLTIzMDI4_a6d5e696-cd21-4ce2-bb8e-32f7b2a18a37">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV80L2ZyYWc6ZjAwYTMwYWMzMDEwNDU2NDhiNDgxMTYzNGEzYzJlYjMvdGFibGU6NmM0NjQ4YzYxYWY1NDE1NWI0YjU1ZGJiOTE2NzNkODMvdGFibGVyYW5nZTo2YzQ2NDhjNjFhZjU0MTU1YjRiNTVkYmI5MTY3M2Q4M183LTEtMS0xLTIzMDI4_72535473-2b5a-4da9-9acf-d3e6902c9107">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV80L2ZyYWc6ZjAwYTMwYWMzMDEwNDU2NDhiNDgxMTYzNGEzYzJlYjMvdGV4dHJlZ2lvbjpmMDBhMzBhYzMwMTA0NTY0OGI0ODExNjM0YTNjMmViM18xNzM_cf66f570-a541-4e2d-b632-d17973ea92c6">0000030305</dei:EntityCentralIndexKey>
    <us-gaap:FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzEtNC0xLTEtMjMwMjg_614d4167-af81-45ea-8188-9f9e28c299af">http://www.ducommun.com/20221231#OtherLiabilitiesCurrentAndNoncurrentMember</us-gaap:FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i872ce53e4b33460da2c9e49cf6302749_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzI1NjQ_07b026ff-cd8a-4889-9038-6153b064afc4">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i872ce53e4b33460da2c9e49cf6302749_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzQ3ODQ_ca248d5d-b292-4d1e-a771-821b9782feea">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExcludingServiceCostStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtMC0xLTEtNTQyOTM_21cfa342-c8fd-44b1-a1c3-ff0fe0c96eae">http://fasb.org/us-gaap/2022#InterestIncomeExpenseNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExcludingServiceCostStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExcludingServiceCostStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtMC0xLTEtNTQyOTM_9968fc03-2ed1-4533-a40f-3542b61ed49c">http://fasb.org/us-gaap/2022#InterestIncomeExpenseNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExcludingServiceCostStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExcludingServiceCostStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtMC0xLTEtNTQyOTM_e9c01a5b-723c-486a-a531-4eadc5ce9639">http://fasb.org/us-gaap/2022#InterestIncomeExpenseNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExcludingServiceCostStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExpectedReturnLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtMC0xLTEtMjMwMjg_0d855ffa-7ee0-4dc6-9a4c-e534aeaa91b6">http://fasb.org/us-gaap/2022#InterestIncomeExpenseNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExpectedReturnLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExpectedReturnLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtMC0xLTEtMjMwMjg_2a1293ed-5aa6-4d62-a0ec-dc7817d3d41e">http://fasb.org/us-gaap/2022#InterestIncomeExpenseNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExpectedReturnLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExpectedReturnLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtMC0xLTEtMjMwMjg_2edf620b-790e-4c0c-a555-7100e89a8b1b">http://fasb.org/us-gaap/2022#InterestIncomeExpenseNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExpectedReturnLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditAmortizationOfGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtMC0xLTEtMjMwMjg_807f72ae-e268-494a-8754-d776bb35e8de">http://fasb.org/us-gaap/2022#InterestIncomeExpenseNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditAmortizationOfGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditAmortizationOfGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtMC0xLTEtMjMwMjg_92300447-f04b-49aa-9a5e-0ea2a91eaec6">http://fasb.org/us-gaap/2022#InterestIncomeExpenseNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditAmortizationOfGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditAmortizationOfGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtMC0xLTEtMjMwMjg_bf54d7ad-842d-4728-ae39-a85c05fa2201">http://fasb.org/us-gaap/2022#InterestIncomeExpenseNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditAmortizationOfGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <dco:NumberOfDefinedContributionPlans
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjAvZnJhZzpkMzBmN2NhODc0OGQ0YTZjODEwZjcxYTY3MTE2ZDhhMi90ZXh0cmVnaW9uOmQzMGY3Y2E4NzQ4ZDRhNmM4MTBmNzFhNjcxMTZkOGEyXzQw_c953e1a9-f146-41cb-b381-2065baf7569e"
      unitRef="compensation_plan">1</dco:NumberOfDefinedContributionPlans>
    <dei:DocumentType
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zNDA0_b91cc906-6de3-4866-a8f9-0a57f33e387e">10-K</dei:DocumentType>
    <dei:DocumentType
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zNDA0_cecd1ee2-d2e5-4013-9e75-de4b8fb9f311">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6YzVmMDRlY2Y0YjM5NDI2MjhhMDRhYTRlZDM5MzQxMTgvdGFibGVyYW5nZTpjNWYwNGVjZjRiMzk0MjYyOGEwNGFhNGVkMzkzNDExOF8wLTAtMS0xLTIzMDI4_de129425-4a10-4447-9f9e-cef6f9364d7c">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18yMzY_766561fd-77fb-4e7d-842e-cf01106e8d61">2022-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18yMzY_f1395916-8c06-4363-8757-89df18a64d93">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6MTE4YWU2NGE0OTBkNDI1OGEwNjE3OTU3NWU2ODBjNGEvdGFibGVyYW5nZToxMThhZTY0YTQ5MGQ0MjU4YTA2MTc5NTc1ZTY4MGM0YV8wLTAtMS0xLTIzMDI4_01da88a3-661d-437f-bb06-bea8471a4d23">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zMzk2_581b0c3c-07ca-442a-80f7-43e85a679c1d">001-08174</dei:EntityFileNumber>
    <dei:EntityFileNumber
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zMzk2_9cb99317-13fc-4cc6-be27-f99f9db13071">001-08174</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zMzk3_6ac6cbdd-b782-4803-95ff-7f2e0409f827">DUCOMMUN INCORPORATED</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6NWY0OGJmNjczYmUxNDk5MWFmMjU5OWJhY2RjZDFlZTcvdGFibGVyYW5nZTo1ZjQ4YmY2NzNiZTE0OTkxYWYyNTk5YmFjZGNkMWVlN18wLTAtMS0xLTIzMDI4_74cd1c12-f8bd-4118-b8a4-a8556811b50f">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6NWY0OGJmNjczYmUxNDk5MWFmMjU5OWJhY2RjZDFlZTcvdGFibGVyYW5nZTo1ZjQ4YmY2NzNiZTE0OTkxYWYyNTk5YmFjZGNkMWVlN18wLTItMS0xLTIzMDI4_591efce1-ddc9-4b4a-b5c2-cce4a4fa3d7c">95-0693330</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6NWY0OGJmNjczYmUxNDk5MWFmMjU5OWJhY2RjZDFlZTcvdGFibGVyYW5nZTo1ZjQ4YmY2NzNiZTE0OTkxYWYyNTk5YmFjZGNkMWVlN18zLTAtMS0xLTIzMDI4L3RleHRyZWdpb246MWRhZmZhNzMyNjNjNDdkOTkxYWY3MTJhYzNhZDhhMTdfNA_30be983f-d045-4384-8af9-27c731c89595">200 Sandpointe Avenue, Suite 700</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6NWY0OGJmNjczYmUxNDk5MWFmMjU5OWJhY2RjZDFlZTcvdGFibGVyYW5nZTo1ZjQ4YmY2NzNiZTE0OTkxYWYyNTk5YmFjZGNkMWVlN18zLTAtMS0xLTIzMDI4L3RleHRyZWdpb246MWRhZmZhNzMyNjNjNDdkOTkxYWY3MTJhYzNhZDhhMTdfOA_e4cfd72a-a0d3-4ded-9566-5573a62b8fc0">Santa Ana</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6NWY0OGJmNjczYmUxNDk5MWFmMjU5OWJhY2RjZDFlZTcvdGFibGVyYW5nZTo1ZjQ4YmY2NzNiZTE0OTkxYWYyNTk5YmFjZGNkMWVlN18zLTAtMS0xLTIzMDI4L3RleHRyZWdpb246MWRhZmZhNzMyNjNjNDdkOTkxYWY3MTJhYzNhZDhhMTdfMTI_69c3b758-8030-4307-8fe9-e3d519de613c">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6NWY0OGJmNjczYmUxNDk5MWFmMjU5OWJhY2RjZDFlZTcvdGFibGVyYW5nZTo1ZjQ4YmY2NzNiZTE0OTkxYWYyNTk5YmFjZGNkMWVlN18zLTItMS0xLTIzMDI4_31059c69-e145-4ded-b4c6-196252634c22">92707-5759</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zNDAx_12bba33a-17e6-4978-92b0-2ed5cf74cebc">657</dei:CityAreaCode>
    <dei:CityAreaCode
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zNDAx_4017ba7a-1765-4342-9abd-56b79e2725d2">657</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zNDA2_cb66cee7-08fe-42b9-a95c-560a72ee9fc3">335-3665</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6NzZiZTdiMTQyMjAyNGNiZWEwMzhlNjRlMDIxOTcxZmEvdGFibGVyYW5nZTo3NmJlN2IxNDIyMDI0Y2JlYTAzOGU2NGUwMjE5NzFmYV8xLTAtMS0xLTIzMDI4_d9c94344-5c15-42e6-a714-d1917caea158">Common Stock, $.01 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6NzZiZTdiMTQyMjAyNGNiZWEwMzhlNjRlMDIxOTcxZmEvdGFibGVyYW5nZTo3NmJlN2IxNDIyMDI0Y2JlYTAzOGU2NGUwMjE5NzFmYV8xLTItMS0xLTIzMDI4_96546168-6b0b-48e3-8521-2f5e08bcd7a1">DCO</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6NzZiZTdiMTQyMjAyNGNiZWEwMzhlNjRlMDIxOTcxZmEvdGFibGVyYW5nZTo3NmJlN2IxNDIyMDI0Y2JlYTAzOGU2NGUwMjE5NzFmYV8xLTQtMS0xLTIzMDI4_9a76dc5b-79d6-45bd-8c72-41c8689195d3">NYSE</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zNDA4_96751d73-2ea0-48d3-bd82-95c06d9a84e5">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zNDA4_f29fae61-9ca5-4d04-b376-352c9daf91f9">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zMzk4_7548c720-ffa5-4f59-80e1-0935fc28049d">No</dei:EntityVoluntaryFilers>
    <dei:EntityVoluntaryFilers
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zMzk4_85e6bd41-5b32-46fe-8810-3f0fd81cbd75">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zMzk5_1d91e6c5-3493-4d3b-8ca1-51bafcbc644f">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityCurrentReportingStatus
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zMzk5_27556086-a2a1-47b6-a817-1748499defb0">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zNDAw_5269fe05-7f7d-4b3e-a152-52fafe07fbda">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityInteractiveDataCurrent
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zNDAw_b487b729-60ff-44ff-9edf-12b00240e1fb">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6YTI1Yzg1MDgyYWQ0NDAxMTlhNGI3MzRjZjMzNWI4NzAvdGFibGVyYW5nZTphMjVjODUwODJhZDQ0MDExOWE0YjczNGNmMzM1Yjg3MF8wLTMtMS0xLTIzMDI4_de4fa9b0-8dae-44ed-a16f-c307ae227bc8">Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6YTI1Yzg1MDgyYWQ0NDAxMTlhNGI3MzRjZjMzNWI4NzAvdGFibGVyYW5nZTphMjVjODUwODJhZDQ0MDExOWE0YjczNGNmMzM1Yjg3MF8yLTUtMS0xLTIzMDI4_c89fca97-d406-4fca-8522-3826475bf5c9">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGFibGU6YTI1Yzg1MDgyYWQ0NDAxMTlhNGI3MzRjZjMzNWI4NzAvdGFibGVyYW5nZTphMjVjODUwODJhZDQ0MDExOWE0YjczNGNmMzM1Yjg3MF80LTUtMS0xLTIzMDI4_22b3fc32-2445-4aef-a8ec-0459907edfad">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zNDAy_774bd4b1-e461-4d07-a0b5-64a2106c2ba9">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N184Nzk2MDkzMDI1NjM4_b6d1e3de-ec7a-48c3-be38-9dee36600e02">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="ia656de471f88474ab5a8e3de78bd12cf_I20220702"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zMTA0_cdd7fa1f-5237-4151-8371-446656f8ba08"
      unitRef="usd">529000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="icfc7d4c2ef4b451cb21bc9528b467ff0_I20230206"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zMTY3_b75be851-e6ec-4cc0-9b91-38437798418c"
      unitRef="shares">12146494</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xL2ZyYWc6MDY5NmU0MDUwYWI0NDYzMjhhNjk1ODMyMGZiOWEwNzcvdGV4dHJlZ2lvbjowNjk2ZTQwNTBhYjQ0NjMyOGE2OTU4MzIwZmI5YTA3N18zNDAz_4fa3e5fd-4101-40bb-99ed-779dcb643df8">The following documents are incorporated by reference:(a) Proxy Statement for the 2023 Annual Meeting of Shareholders (the &#x201c;2023 Proxy Statement&#x201d;), incorporated partially in Part III hereof.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV85NC9mcmFnOmRkMzI5OTNlMThlZDQ0Y2Q5MTBkNmU5NDYwZjI2MjY2L3RhYmxlOjg4YWI3YTQ0ZWQ0NzQ1YzM5MzMxM2Q4NzVkYTEzNjg3L3RhYmxlcmFuZ2U6ODhhYjdhNDRlZDQ3NDVjMzkzMzEzZDg3NWRhMTM2ODdfNi0xLTEtMS0yMzAyOC90ZXh0cmVnaW9uOjgzODFhYmIyNDUwZDRjZWE5OTQxNDEwMjA3NGY3NWViXzcx_859a329a-1ab9-4db7-ae78-6f622c7631b1">238</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV85Ny9mcmFnOjQyMWMzNzI5ZDgwODQ0MWZiMWMwYjRkNGViMDc3M2M1L3RleHRyZWdpb246NDIxYzM3MjlkODA4NDQxZmIxYzBiNGQ0ZWIwNzczYzVfOTcxNQ_4159375f-175e-4ee1-aacf-63f22ff0db62">PricewaterhouseCoopers LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV85Ny9mcmFnOjQyMWMzNzI5ZDgwODQ0MWZiMWMwYjRkNGViMDc3M2M1L3RleHRyZWdpb246NDIxYzM3MjlkODA4NDQxZmIxYzBiNGQ0ZWIwNzczYzVfOTcxNA_bc5060be-244e-40a7-a463-cd375ad2f5f9">Irvine, California</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzQtMi0xLTEtMjMwMjg_6103473c-093f-4150-a06a-e4598a9f9ddb"
      unitRef="usd">46246000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzQtNC0xLTEtMjMwMjg_a69f1222-03fd-4ea1-8982-f77e4b2c7b4d"
      unitRef="usd">76316000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzYtMC0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo3YjI3NTk2NTI5MmQ0MTczYWRiMDEyMzQ2MzM2OGFkOF82Mw_96ef4d36-4a2f-4386-a987-028ca2a94fc1"
      unitRef="usd">589000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzYtMC0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo3YjI3NTk2NTI5MmQ0MTczYWRiMDEyMzQ2MzM2OGFkOF83MA_9ec8b487-c2df-435b-b2b9-ca11518d9e48"
      unitRef="usd">1098000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzYtMi0xLTEtMjMwMjg_1a3e4635-d4c6-4957-9a31-c2b1f9ebc84b"
      unitRef="usd">103958000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzYtNC0xLTEtMjMwMjg_a4c3a099-de50-4c2c-82fb-cb6abbb7e904"
      unitRef="usd">72261000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzctMi0xLTEtMjMwMjg_a46404e7-b07f-4647-86f0-6c4bd7503bba"
      unitRef="usd">191290000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzctNC0xLTEtMjMwMjg_50b75488-9b31-4c63-826e-4197327c5bcf"
      unitRef="usd">176405000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzgtMi0xLTEtMjMwMjg_11143b8f-65e0-4934-94bc-790d66e1e61b"
      unitRef="usd">171211000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzgtNC0xLTEtMjMwMjg_f18ef206-fe4d-4e15-9849-2aa8d7496416"
      unitRef="usd">150938000</us-gaap:InventoryNet>
    <dco:ProductionCostOfContractsCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzktMi0xLTEtMjMwMjg_f1c5dd23-7bff-45db-93ed-3f02518bb71e"
      unitRef="usd">5693000</dco:ProductionCostOfContractsCurrent>
    <dco:ProductionCostOfContractsCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzktNC0xLTEtMjMwMjg_cfe924ae-2d8a-48c3-9882-26f26667151e"
      unitRef="usd">8024000</dco:ProductionCostOfContractsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzEwLTItMS0xLTIzMDI4_a1c8b13f-a1f3-450b-9f10-3ac391cafab3"
      unitRef="usd">8938000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzEwLTQtMS0xLTIzMDI4_c8a8aeb4-29d9-4944-bf3b-b1236aa65eaa"
      unitRef="usd">8625000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzEyLTItMS0xLTIzMDI4_90e9ba2f-d678-4fe0-abc1-e7323957f21e"
      unitRef="usd">527336000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzEyLTQtMS0xLTIzMDI4_aa47baca-a860-4090-9721-daa998b62fcf"
      unitRef="usd">492569000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzEzLTItMS0xLTIzMDI4_96666d98-7ab3-45ca-a77a-473841fa6b5b"
      unitRef="usd">106225000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzEzLTQtMS0xLTIzMDI4_cd685752-59a6-460e-9038-90045bd03c8c"
      unitRef="usd">102419000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzE0LTItMS0xLTIzMDI4_8456045f-209e-458e-9d5c-7d1ba894bf4c"
      unitRef="usd">34632000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzE0LTQtMS0xLTIzMDI4_c7e73978-e803-4623-aa51-e79284f7e4da"
      unitRef="usd">33265000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzE1LTItMS0xLTIzMDI4_8cdb238a-e5d6-4817-93a8-21b2172c69b2"
      unitRef="usd">203407000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzE1LTQtMS0xLTIzMDI4_312fc955-0fea-453c-adfe-b031dd92dfcd"
      unitRef="usd">203694000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzE2LTItMS0xLTIzMDI4_dbd25010-ae00-4689-9771-5474d5f94c0e"
      unitRef="usd">127201000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzE2LTQtMS0xLTIzMDI4_6953a1c9-a969-4d7b-9631-f89f6875f005"
      unitRef="usd">141764000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzE4LTItMS0xLTIzMDI4_16a3f4eb-7cac-4b1d-8802-25e6d771d95a"
      unitRef="usd">22705000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzE4LTQtMS0xLTIzMDI4_fb365883-fcf8-42fa-bc0e-aaba58c1abf3"
      unitRef="usd">5024000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzE5LTItMS0xLTIzMDI4_fffbacb1-ebdc-43a9-96aa-f042c77fe7fc"
      unitRef="usd">1021506000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzE5LTQtMS0xLTIzMDI4_2cd0e812-6036-4a22-a962-c4970c329975"
      unitRef="usd">978735000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzIyLTItMS0xLTIzMDI4_7eb53c2e-0af4-466d-9c60-9af368ece865"
      unitRef="usd">90143000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzIyLTQtMS0xLTIzMDI4_da5c7f7f-d954-4b85-a3a8-18db10bdcdf0"
      unitRef="usd">66059000</us-gaap:AccountsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzIzLTItMS0xLTIzMDI4_704a55cb-751e-43ee-9387-27e4cf39c4f0"
      unitRef="usd">47068000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzIzLTQtMS0xLTIzMDI4_b1c3c8f6-c0ff-46c9-b656-ad0a114dfab7"
      unitRef="usd">42077000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI0LTItMS0xLTIzMDI4_7e9da080-603f-45cb-8d04-52fd569dff83"
      unitRef="usd">48820000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI0LTQtMS0xLTIzMDI4_1635e5b8-0941-4a7a-9f2d-1524dfa28405"
      unitRef="usd">41291000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI1LTItMS0xLTIzMDI4_e2246e2c-754f-47e7-8866-c2605b728a18"
      unitRef="usd">7155000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI1LTQtMS0xLTIzMDI4_fef8a4dd-f72a-42cd-bb56-08e5adad77e0"
      unitRef="usd">6133000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI2LTItMS0xLTIzMDI4_9f299b3b-1336-4810-90c0-fb02168bd4e3"
      unitRef="usd">6250000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI2LTQtMS0xLTIzMDI4_ab7bd3f1-8b1a-4ffd-938a-ae1c8ba176ec"
      unitRef="usd">7000000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI3LTItMS0xLTIzMDI4_73f78006-df72-4309-93d3-832a1aeb1223"
      unitRef="usd">199436000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI3LTQtMS0xLTIzMDI4_54bb8b1c-7874-490d-b083-d4029052d6ba"
      unitRef="usd">162560000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI4LTItMS0xLTIzMDI4_ce4b5b2f-c514-4e77-9481-c495e10796e4"
      unitRef="usd">240595000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI4LTQtMS0xLTIzMDI4_1367b6c1-dc6f-4139-b036-c184355af784"
      unitRef="usd">279384000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI5LTItMS0xLTIzMDI4_24325051-6b12-4641-9fb6-b90ca9e145d7"
      unitRef="usd">28841000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzI5LTQtMS0xLTIzMDI4_cb622e42-a1e8-4777-b713-e881213fc9fb"
      unitRef="usd">28074000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzMwLTItMS0xLTIzMDI4_f226d7b9-801c-4a67-b965-b1119b664d9b"
      unitRef="usd">13953000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzMwLTQtMS0xLTIzMDI4_32b16703-3221-4cb0-a9d0-fa30e42f95af"
      unitRef="usd">18727000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzMxLTItMS0xLTIzMDI4_49290334-6314-4418-865b-17b914240393"
      unitRef="usd">12721000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzMxLTQtMS0xLTIzMDI4_e2192ae3-a7b7-4182-a4af-8fa730eef9b0"
      unitRef="usd">15388000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzMyLTItMS0xLTIzMDI4_f0cf33cc-c73a-4981-aab6-2e7d9afb3360"
      unitRef="usd">495546000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzMyLTQtMS0xLTIzMDI4_8aec277d-5c4c-4288-af37-38f7e7dbb318"
      unitRef="usd">504133000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzMzLTItMS0xLTIzMDI4_9a8fd588-1b21-40e5-8fef-4d62031135e8"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzMzLTQtMS0xLTIzMDI4_667c710c-0066-42b6-9ef8-5ec0b04ca2ba"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM1LTAtMS0xLTIzMDI4L3RleHRyZWdpb246MTMzODVhMWQxMzA2NGZkMmIyNmFiNjA1MzE3ZjI5MGJfMTk_c3b75221-d584-4f5d-939a-fba377603c65"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM1LTAtMS0xLTIzMDI4L3RleHRyZWdpb246MTMzODVhMWQxMzA2NGZkMmIyNmFiNjA1MzE3ZjI5MGJfMTk_d22bedc3-6ac8-45fd-8ffa-199bedb14b59"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM1LTAtMS0xLTIzMDI4L3RleHRyZWdpb246MTMzODVhMWQxMzA2NGZkMmIyNmFiNjA1MzE3ZjI5MGJfMzM_50e65353-2fee-415e-a582-c3eee7fb5bc1"
      unitRef="shares">35000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM1LTAtMS0xLTIzMDI4L3RleHRyZWdpb246MTMzODVhMWQxMzA2NGZkMmIyNmFiNjA1MzE3ZjI5MGJfMzM_74b39331-93f3-4f6c-a534-58b0ee8b5d1a"
      unitRef="shares">35000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM1LTAtMS0xLTIzMDI4L3RleHRyZWdpb246MTMzODVhMWQxMzA2NGZkMmIyNmFiNjA1MzE3ZjI5MGJfNTU_6c22fcad-042f-4c9a-b103-28a473512ed4"
      unitRef="shares">12106285</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM1LTAtMS0xLTIzMDI4L3RleHRyZWdpb246MTMzODVhMWQxMzA2NGZkMmIyNmFiNjA1MzE3ZjI5MGJfNTU_df19a049-7263-44e4-b314-5cd80d2b32d6"
      unitRef="shares">12106285</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM1LTAtMS0xLTIzMDI4L3RleHRyZWdpb246MTMzODVhMWQxMzA2NGZkMmIyNmFiNjA1MzE3ZjI5MGJfNjI_580cfbf0-abc6-47b9-8d13-c83ca24d369c"
      unitRef="shares">11925087</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM1LTAtMS0xLTIzMDI4L3RleHRyZWdpb246MTMzODVhMWQxMzA2NGZkMmIyNmFiNjA1MzE3ZjI5MGJfNjI_ad126b43-2a6c-411a-830b-d4f121a7e2fe"
      unitRef="shares">11925087</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM1LTItMS0xLTIzMDI4_ab25c8ed-05e4-4677-a6d5-ea380fa75266"
      unitRef="usd">121000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM1LTQtMS0xLTIzMDI4_3333d07e-900d-42b8-a212-9b59db19d8d5"
      unitRef="usd">119000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM3LTItMS0xLTIzMDI4_31479c9e-95f5-4440-b8bc-651701522f84"
      unitRef="usd">112042000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM3LTQtMS0xLTIzMDI4_ddb96367-0e5c-4836-b572-16c38337f170"
      unitRef="usd">104253000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM4LTItMS0xLTIzMDI4_5f14c68b-8fea-4082-a5cf-c0a745600562"
      unitRef="usd">406052000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM4LTQtMS0xLTIzMDI4_16ffecbc-345f-4188-be63-0e508e547a31"
      unitRef="usd">377263000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM5LTItMS0xLTIzMDI4_25b49b18-d516-4683-a29c-45c0c453af37"
      unitRef="usd">7745000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzM5LTQtMS0xLTIzMDI4_fb74d9b6-de02-4907-84f2-1e660a39b5aa"
      unitRef="usd">-7033000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzQwLTItMS0xLTIzMDI4_49c83ab0-0342-490d-8240-891c9e49bc97"
      unitRef="usd">525960000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzQwLTQtMS0xLTIzMDI4_70696281-e20c-4e34-bf0e-48d924f014c8"
      unitRef="usd">474602000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzQxLTItMS0xLTIzMDI4_c4cef70b-b47c-4f25-a499-742b06ca15a7"
      unitRef="usd">1021506000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDAvZnJhZzoyNWNlOWNlZGRiZjk0MjIzODMzOWU1ZWMzMjI0MGMxZC90YWJsZToxODI0NTc0M2M0NzU0ZjIzOTU4NDNmNzE4OTk3NjNlZS90YWJsZXJhbmdlOjE4MjQ1NzQzYzQ3NTRmMjM5NTg0M2Y3MTg5OTc2M2VlXzQxLTQtMS0xLTIzMDI4_c1dc3f17-78bb-47dc-be57-78daff6b9b5a"
      unitRef="usd">978735000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzItMi0xLTEtMjMwMjg_6c59c6f6-32b6-4e65-b615-83949df32b6b"
      unitRef="usd">712537000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzItNC0xLTEtMjMwMjg_ba811f0d-e546-4f4c-a2b4-389da675a489"
      unitRef="usd">645413000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzItNi0xLTEtMjMwMjg_11019278-bd40-4cb8-b126-dc3acdd5e4b1"
      unitRef="usd">628941000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzMtMi0xLTEtMjMwMjg_657e591c-c098-4e03-9cdf-63cb79c24cfa"
      unitRef="usd">568240000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzMtNC0xLTEtMjMwMjg_7a6da61b-c52f-4687-bcaf-228b1a9ce035"
      unitRef="usd">502953000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzMtNi0xLTEtMjMwMjg_d4d3b3b4-ca41-4a06-b363-28f20eb3e288"
      unitRef="usd">491203000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzQtMi0xLTEtMjMwMjg_cee30df8-03a5-4d69-b87e-477699c69c5e"
      unitRef="usd">144297000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzQtNC0xLTEtMjMwMjg_c3b42d0f-0873-4aec-8a22-ffe30f4b33bd"
      unitRef="usd">142460000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzQtNi0xLTEtMjMwMjg_2482e31e-f9d5-4e30-b6d5-b12f1d82ed19"
      unitRef="usd">137738000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzUtMi0xLTEtMjMwMjg_728ab917-850a-47aa-9e1a-42a3c8753d57"
      unitRef="usd">98351000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzUtNC0xLTEtMjMwMjg_45e834b1-d036-4408-a132-3abe34c70b54"
      unitRef="usd">93579000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzUtNi0xLTEtMjMwMjg_6399fa41-639a-4565-9915-6dc86759de8f"
      unitRef="usd">89808000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:RestructuringCharges
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzgtMi0xLTEtMjMwMjg_e47eead4-8539-427a-a71f-99d46251df5d"
      unitRef="usd">6158000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzgtNC0xLTEtMjMwMjg_17ba718c-2d5d-47ab-9c20-5b9fe70b8ba7"
      unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzgtNi0xLTEtMjMwMjg_031303cb-a2b7-40da-a9f8-e49f4820d269"
      unitRef="usd">2424000</us-gaap:RestructuringCharges>
    <us-gaap:OperatingIncomeLoss
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzktMi0xLTEtMjMwMjg_aea89fdc-5fb2-41e6-9b7b-e5d57b5385f4"
      unitRef="usd">39788000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzktNC0xLTEtMjMwMjg_fb0f8b94-5caf-4bb8-9794-3c08c0104a66"
      unitRef="usd">48881000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzktNi0xLTEtMjMwMjg_7e2560a5-b7a3-47d5-9f46-228bc5c9318d"
      unitRef="usd">45506000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzEwLTItMS0xLTIzMDI4_5f638ccd-48a7-4bd2-8efe-7795a6b166a6"
      unitRef="usd">-11571000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzEwLTQtMS0xLTIzMDI4_3394757d-c3ab-41eb-90e4-b645ec56af23"
      unitRef="usd">-11187000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzEwLTYtMS0xLTIzMDI4_171be9e9-91d7-406e-8b98-fee6f92f1136"
      unitRef="usd">-13653000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzEyLTItMS0xLTIzMDI4_70dc96d0-b5e0-4c97-b74f-50a46ab8e09c"
      unitRef="usd">-295000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzEyLTQtMS0xLTIzMDI4_5fb30535-717c-4acc-b51e-f81b3f61e9b6"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzEyLTYtMS0xLTIzMDI4_86445e14-b226-4068-b330-841640d441ea"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:SaleAndLeasebackTransactionGainLossNet
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzEzLTItMS0xLTIzMDI4_b20ab267-5c1a-479a-aef6-6e248a9e0423"
      unitRef="usd">0</us-gaap:SaleAndLeasebackTransactionGainLossNet>
    <us-gaap:SaleAndLeasebackTransactionGainLossNet
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzEzLTQtMS0xLTIzMDI4_c352517e-a2a9-43dc-96ff-18aee1984bcf"
      unitRef="usd">132522000</us-gaap:SaleAndLeasebackTransactionGainLossNet>
    <us-gaap:SaleAndLeasebackTransactionGainLossNet
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzEzLTYtMS0xLTIzMDI4_bddf73f9-205f-4f08-80d1-0f21149fe1ca"
      unitRef="usd">0</us-gaap:SaleAndLeasebackTransactionGainLossNet>
    <us-gaap:OtherIncome
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE0LTItMS0xLTIzMDI4_fa683822-67b2-42d1-af53-f7ac05889f4f"
      unitRef="usd">5400000</us-gaap:OtherIncome>
    <us-gaap:OtherIncome
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE0LTQtMS0xLTIzMDI4_e93e25f3-9c41-461d-9e66-db95441f2572"
      unitRef="usd">268000</us-gaap:OtherIncome>
    <us-gaap:OtherIncome
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE0LTYtMS0xLTIzMDI4_9b45889b-4b64-4b46-bfa1-de4062435b5b"
      unitRef="usd">128000</us-gaap:OtherIncome>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE1LTItMS0xLTIzMDI4_6c564b8d-38ec-4f86-84fa-5de6368ed45f"
      unitRef="usd">33322000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE1LTQtMS0xLTIzMDI4_8c4e3d48-54dd-47bc-b643-db1d4469a54f"
      unitRef="usd">170484000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE1LTYtMS0xLTIzMDI4_2840d58d-4a82-4fbc-a079-f877c0b44813"
      unitRef="usd">31981000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE2LTItMS0xLTIzMDI4_3303dff0-f256-4ff5-a387-a5de521b8513"
      unitRef="usd">4533000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE2LTQtMS0xLTIzMDI4_7c6c9bc7-1287-4889-a792-4f512c4693be"
      unitRef="usd">34948000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE2LTYtMS0xLTIzMDI4_b25710eb-e0a9-41a8-9460-d28172d119e3"
      unitRef="usd">2807000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE3LTItMS0xLTIzMDI4_07731311-6e1d-4baa-9c24-c8a2ac7f9b99"
      unitRef="usd">28789000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE3LTQtMS0xLTIzMDI4_5d3664b3-f9f0-44ca-8873-a77cf06a6794"
      unitRef="usd">135536000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE3LTYtMS0xLTIzMDI4_8b207fba-b5ac-46cb-9fcc-6f16545cba27"
      unitRef="usd">29174000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE5LTItMS0xLTIzMDI4_8be8c756-7a48-463a-89fb-15db327f5b46"
      unitRef="usdPerShare">2.38</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE5LTQtMS0xLTIzMDI4_b0f87d48-d7e8-4d8e-9a1e-4cdf53693f31"
      unitRef="usdPerShare">11.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzE5LTYtMS0xLTIzMDI4_6be734b2-5fdc-4f2a-b4e0-ac64d4e89f31"
      unitRef="usdPerShare">2.50</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzIwLTItMS0xLTIzMDI4_29982382-586d-4192-9822-206dc6c65ae6"
      unitRef="usdPerShare">2.33</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzIwLTQtMS0xLTIzMDI4_f7df388e-49d5-442a-976e-3568b9c53beb"
      unitRef="usdPerShare">11.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzIwLTYtMS0xLTIzMDI4_39ae4f90-1fc5-4fdb-8735-3f53fc6e0f8d"
      unitRef="usdPerShare">2.45</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzIyLTItMS0xLTIzMDI4_f9d72bb1-ad2a-4162-9fbd-422fb9dc4373"
      unitRef="shares">12074000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzIyLTQtMS0xLTIzMDI4_711d0471-e012-4681-81d1-718652e3dbad"
      unitRef="shares">11879000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzIyLTYtMS0xLTIzMDI4_d2813bd8-fd6d-4df3-ba47-180aba8bf9ec"
      unitRef="shares">11676000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzIzLTItMS0xLTIzMDI4_9009e7d7-e9c9-4188-9c5c-7d91e8fbd056"
      unitRef="shares">12366000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzIzLTQtMS0xLTIzMDI4_bb7b1cc4-dee9-4dae-86f3-bcd0faef3703"
      unitRef="shares">12251000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDYvZnJhZzo0NGExNDIzZDIyMmE0YTc4OGNkOTk5NGYwMzgyN2MzMC90YWJsZTowYTUxN2RjNTZhN2I0NjRiYWNjNGVmOWZiYmYyZDkzYS90YWJsZXJhbmdlOjBhNTE3ZGM1NmE3YjQ2NGJhY2M0ZWY5ZmJiZjJkOTNhXzIzLTYtMS0xLTIzMDI4_cf1d70f9-df6b-48bb-af45-e9391299e09b"
      unitRef="shares">11932000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzItMi0xLTEtMjMwMjg_938dc224-d5f9-48ba-9a5c-dc9afa5ddf0f"
      unitRef="usd">28789000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzItNC0xLTEtMjMwMjg_66158bc8-6c57-4d2f-ad86-e988fac46635"
      unitRef="usd">135536000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzItNi0xLTEtMjMwMjg_44decb11-f1c6-46f7-affe-1557c2d8319f"
      unitRef="usd">29174000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzUtMC0xLTEtMjMwMjgvdGV4dHJlZ2lvbjozMmU2OGZjMDVlMWU0Yzg4OWUzYzk5ZmYxZjE0NjkwZl83Ng_f7f98f77-bf53-4c38-a8d6-db6932f73de5"
      unitRef="usd">143000</us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditTax>
    <us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzUtMC0xLTEtMjMwMjgvdGV4dHJlZ2lvbjozMmU2OGZjMDVlMWU0Yzg4OWUzYzk5ZmYxZjE0NjkwZl84MA_bfe3c738-dba7-404b-9bb4-60421c569076"
      unitRef="usd">309000</us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditTax>
    <us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditTax
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzUtMC0xLTEtMjMwMjgvdGV4dHJlZ2lvbjozMmU2OGZjMDVlMWU0Yzg4OWUzYzk5ZmYxZjE0NjkwZl84OA_85f68724-f794-4604-bbc2-bcdf39aa0153"
      unitRef="usd">236000</us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditTax>
    <us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzUtMi0xLTEtMjMwMjg_d04f9ab8-a8b1-43c8-a1eb-f1745df6d34a"
      unitRef="usd">442000</us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzUtNC0xLTEtMjMwMjg_2750406a-7f81-4337-956e-3fe3cb76b6c9"
      unitRef="usd">976000</us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzUtNi0xLTEtMjMwMjg_d9aa1bdf-eeb3-47a1-8211-a0ca20bc8822"
      unitRef="usd">757000</us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzYtMC0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo3Y2I3YjBiOGY0YjM0MWUwOTRhMTZlNGY3YzYzMmE4M183OA_82cba448-f7f5-48b1-a1f1-9f38b434bb23"
      unitRef="usd">-722000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzYtMC0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo3Y2I3YjBiOGY0YjM0MWUwOTRhMTZlNGY3YzYzMmE4M184Mg_5110cb22-6081-433d-9951-4bf2e5be482a"
      unitRef="usd">-902000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossTax
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzYtMC0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo3Y2I3YjBiOGY0YjM0MWUwOTRhMTZlNGY3YzYzMmE4M185MA_ddeee0d1-8b90-4b8a-b813-75fe616cdb17"
      unitRef="usd">-701000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzYtMi0xLTEtMjMwMjg_245fbbd8-979c-434e-999e-055538f07e81"
      unitRef="usd">-2259000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzYtNC0xLTEtMjMwMjg_4d4d7985-66de-48c3-946f-277a182e82b1"
      unitRef="usd">-2859000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzYtNi0xLTEtMjMwMjg_f01c0e3d-7407-40d0-9e78-d9a2297e7f2f"
      unitRef="usd">2251000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzctMC0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo5MTdmOWVkMzIwZDY0YzA1OTNlZWJhN2Y0M2JhOTkzNF83OQ_cc86052f-8965-4910-93e0-ffacb6e93017"
      unitRef="usd">3753000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzctMC0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo5MTdmOWVkMzIwZDY0YzA1OTNlZWJhN2Y0M2JhOTkzNF84Mw_c6990f23-b7d8-4560-b655-5401b612b5b9"
      unitRef="usd">391000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzctMC0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo5MTdmOWVkMzIwZDY0YzA1OTNlZWJhN2Y0M2JhOTkzNF85MQ_478344b9-ffa2-4619-bdb0-de71fd34ba1a"
      unitRef="usd">57000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzctMi0xLTEtMjMwMjg_c9772540-fe25-45b5-92c5-616f74095e44"
      unitRef="usd">12077000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzctNC0xLTEtMjMwMjg_c430c976-b28b-44b7-a9c7-39ae069a8aef"
      unitRef="usd">-1268000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzctNi0xLTEtMjMwMjg_d8e90666-7e4c-4afb-bc12-6d666728b399"
      unitRef="usd">162000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzgtMi0xLTEtMjMwMjg_878c5a96-ea11-457e-a607-90d0189332af"
      unitRef="usd">14778000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzgtNC0xLTEtMjMwMjg_ef32bd69-2d80-40fb-9f86-95ba0cee073c"
      unitRef="usd">2567000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzgtNi0xLTEtMjMwMjg_877a198e-b6f2-43dd-927c-8462da1d5448"
      unitRef="usd">-1332000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzktMi0xLTEtMjMwMjg_842c32a3-0c95-499a-b031-dbae586032ed"
      unitRef="usd">43567000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzktNC0xLTEtMjMwMjg_7ebd433a-3c78-455c-8fa4-a77f75b88d3e"
      unitRef="usd">138103000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDkvZnJhZzo3M2VjNzYxZDY4NTY0MGY0YjdhMDM4ZTliOGM2N2IxZC90YWJsZTplNTVlZjdhYmJiOTM0MDVhYWQ2MjkxMjcxYmMzZDMxMS90YWJsZXJhbmdlOmU1NWVmN2FiYmI5MzQwNWFhZDYyOTEyNzFiYzNkMzExXzktNi0xLTEtMjMwMjg_6c629faf-690a-448a-bb1c-156853d83e68"
      unitRef="usd">27842000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i84b2d1a39c9f487daf67b2a21839e28c_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEtMi0xLTEtMjMwMjg_f6966dfa-ef85-4fab-833f-a4f9575d6cac"
      unitRef="shares">11572668</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i84b2d1a39c9f487daf67b2a21839e28c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEtNC0xLTEtMjMwMjg_fad18a9f-7d44-4e65-8252-580f5f7f77ae"
      unitRef="usd">116000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i089e415518d543eda442f2573291b979_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEtOC0xLTEtMjMwMjg_1810b8cf-eead-484b-a10b-7381c8716b63"
      unitRef="usd">88399000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia1ac5a0f34344165ba39af81d8059640_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEtMTAtMS0xLTIzMDI4_a37db82a-66e9-4794-a031-95464f6dbb6a"
      unitRef="usd">212553000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i94fd5460279c4bf6a7f70af8047e4682_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEtMTItMS0xLTIzMDI4_fa76bb37-0b9b-43a5-8422-4b07f677aa06"
      unitRef="usd">-8268000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia1ce740f93534beeb0ed3a80118f1138_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEtMTQtMS0xLTIzMDI4_cb3bcfe2-933a-4a16-96ec-f525f2bde3b1"
      unitRef="usd">292800000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i2de858233029475db8f3289fdfd44aa8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzItMTAtMS0xLTIzMDI4_c9044c9f-b003-4148-ac07-9f15ad5245d7"
      unitRef="usd">29174000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzItMTQtMS0xLTIzMDI4_c31d4a2b-25c8-49e7-83a1-ad4ba29d76ee"
      unitRef="usd">29174000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i7bd20b2a52494d12acd517f5ced7e1ad_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzMtMTItMS0xLTIzMDI4_00f02aa9-4088-42a0-81a7-9438f91c7856"
      unitRef="usd">-1332000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzMtMTQtMS0xLTIzMDI4_bf470e62-e332-472a-9fe0-9c468d99166d"
      unitRef="usd">-1332000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="if5f0bb60f0c144c599c2d0858cb2d344_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzUtMi0xLTEtMjMwMjg_05354bd6-e615-4c9d-ad2b-117c94a366c3"
      unitRef="shares">57285</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="if5f0bb60f0c144c599c2d0858cb2d344_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzUtNC0xLTEtMjMwMjg_4622a546-b5c0-4258-a1e4-62a97e1b8683"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i5ea7157920df42bdbaad5ff448989f68_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzUtOC0xLTEtMjMwMjg_d3bfd404-fce9-4d9c-ae8d-ac64b8fea945"
      unitRef="usd">2193000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzUtMTQtMS0xLTIzMDI4_cdf08f57-49ba-40e0-a12e-450df88dc320"
      unitRef="usd">2194000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="if5f0bb60f0c144c599c2d0858cb2d344_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzYtMi0xLTEtMjMwMjg_7ad08b6e-f234-4d8a-b550-c10a00d80923"
      unitRef="shares">54063</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="if5f0bb60f0c144c599c2d0858cb2d344_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzYtNC0xLTEtMjMwMjg_c50e5024-8532-49c7-a579-9feb0b77e5e2"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i5ea7157920df42bdbaad5ff448989f68_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzYtOC0xLTEtMjMwMjg_85e9ccb3-97b2-49ac-a8ae-18076bd7371e"
      unitRef="usd">1563000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzYtMTQtMS0xLTIzMDI4_4f3c7b9f-5287-490a-9226-c2cdc8513df0"
      unitRef="usd">1564000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="if5f0bb60f0c144c599c2d0858cb2d344_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzctMi0xLTEtMjMwMjg_fa46815b-6fc7-4bc7-a190-1b4a42f9c7a1"
      unitRef="shares">95411</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="if5f0bb60f0c144c599c2d0858cb2d344_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzctNC0xLTEtMjMwMjg_19ac5b36-52ff-4af6-afee-36aa1b7a6038"
      unitRef="usd">2000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i5ea7157920df42bdbaad5ff448989f68_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzctOC0xLTEtMjMwMjg_d779b212-4fae-44f4-aeeb-19b7674ee089"
      unitRef="usd">4363000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzctMTQtMS0xLTIzMDI4_0ac7bd70-414c-4db4-93c1-44d83ab2acb6"
      unitRef="usd">4365000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="if5f0bb60f0c144c599c2d0858cb2d344_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzgtMi0xLTEtMjMwMjg_a94cf275-8829-4745-82a6-6e6659147415"
      unitRef="shares">139607</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="if5f0bb60f0c144c599c2d0858cb2d344_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzgtNC0xLTEtMjMwMjg_709bcb0c-438d-49c6-8b04-24a94f276fd2"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i5ea7157920df42bdbaad5ff448989f68_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzgtOC0xLTEtMjMwMjg_45881875-9c68-48c1-ae6b-06f27528da69"
      unitRef="usd">-1000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzgtMTQtMS0xLTIzMDI4_8ac4a427-6242-4708-baaa-b2c02881608d"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i5ea7157920df42bdbaad5ff448989f68_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzktOC0xLTEtMjMwMjg_a97f2961-fde4-4201-84bd-ba6299c56c4d"
      unitRef="usd">9299000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzktMTQtMS0xLTIzMDI4_98a1aec1-28ae-45e0-b77f-699579fcab47"
      unitRef="usd">9299000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="id2da83df7a954d9aa2916a53d8d52cf9_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEwLTItMS0xLTIzMDI4_493b9492-c0df-4d3c-aed5-ecf30f3c48e0"
      unitRef="shares">11728212</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="id2da83df7a954d9aa2916a53d8d52cf9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEwLTQtMS0xLTIzMDI4_467e48d6-c2ef-4fca-b372-f67b9a90f91a"
      unitRef="usd">117000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0d6afe43e9294a43b9145fc9768371d8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEwLTgtMS0xLTIzMDI4_3b7aa40f-6f85-4b90-83de-0f2ba45c52d1"
      unitRef="usd">97090000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idb438868b1d945799c483c9b6c49eb50_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEwLTEwLTEtMS0yMzAyOA_0a60c8eb-ce64-4462-bfb2-23552eddecfd"
      unitRef="usd">241727000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia9dbee6068ff40d88ddc84ad844dfc0f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEwLTEyLTEtMS0yMzAyOA_a14bec68-74c9-44e8-aad2-cbda469a4275"
      unitRef="usd">-9600000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i135be3338504467c88a3e6b8d068dc04_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEwLTE0LTEtMS0yMzAyOA_c7930ef5-35fa-4ea5-80f2-9e74323a9d97"
      unitRef="usd">329334000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ifc538fce0f7e4ea98adba4f41b1ef4ce_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzExLTEwLTEtMS0yMzAyOA_07a4eb08-dd44-40e6-bcc2-8600288131b1"
      unitRef="usd">135536000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzExLTE0LTEtMS0yMzAyOA_8aa76f6d-ef59-49ec-af32-8bf91cc9cd63"
      unitRef="usd">135536000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i8d564002c6ac45b7ac24a123d1d459a3_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEyLTEyLTEtMS0yMzAyOA_d96837d0-e071-4817-94d0-2f96ab2fcfde"
      unitRef="usd">2567000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEyLTE0LTEtMS0yMzAyOA_23d57583-1073-415d-8125-02df20a81d3c"
      unitRef="usd">2567000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="ifffb9fd03bd94c7b83aab1c4d2a125e2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEzLTItMS0xLTIzMDI4_de91fa5b-0e1e-4716-a5e8-72d08969f79e"
      unitRef="shares">56524</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ifffb9fd03bd94c7b83aab1c4d2a125e2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEzLTQtMS0xLTIzMDI4_b24aae04-98a0-42d6-9ff4-e3b0239e2ba1"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ieb15da6863d34490b853f452dd873928_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEzLTgtMS0xLTIzMDI4_2e387b10-2982-49d8-a785-956452b7c968"
      unitRef="usd">2903000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzEzLTE0LTEtMS0yMzAyOA_67db96c3-4999-42e6-89b2-33b05a004d15"
      unitRef="usd">2904000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ifffb9fd03bd94c7b83aab1c4d2a125e2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE0LTItMS0xLTIzMDI4_15ae8f11-6841-400f-853c-0a340a8a3a88"
      unitRef="shares">48769</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ifffb9fd03bd94c7b83aab1c4d2a125e2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE0LTQtMS0xLTIzMDI4_745b0515-9e80-4494-8bf0-93484796f69e"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ieb15da6863d34490b853f452dd873928_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE0LTgtMS0xLTIzMDI4_5a23c313-6035-43e5-b52e-c4e76605db47"
      unitRef="usd">1732000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE0LTE0LTEtMS0yMzAyOA_a2365843-1e24-444b-8e10-cbefaf0db84a"
      unitRef="usd">1733000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="ifffb9fd03bd94c7b83aab1c4d2a125e2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE1LTItMS0xLTIzMDI4_20959235-e5cd-4361-8e9b-2f8d5982231e"
      unitRef="shares">155653</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ifffb9fd03bd94c7b83aab1c4d2a125e2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE1LTQtMS0xLTIzMDI4_a3af9926-d852-4f6a-9b81-0959dd925de3"
      unitRef="usd">2000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ieb15da6863d34490b853f452dd873928_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE1LTgtMS0xLTIzMDI4_adc4791f-4069-4668-9c34-0408d5011cf5"
      unitRef="usd">8682000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE1LTE0LTEtMS0yMzAyOA_2937d31e-f818-467a-a976-97788780af49"
      unitRef="usd">8684000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="ifffb9fd03bd94c7b83aab1c4d2a125e2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE2LTItMS0xLTIzMDI4_25d48520-0a89-41c9-84de-e08cede41b2f"
      unitRef="shares">247235</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ifffb9fd03bd94c7b83aab1c4d2a125e2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE2LTQtMS0xLTIzMDI4_1c4f1bdd-8394-41fc-8187-81c5007aac9b"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ieb15da6863d34490b853f452dd873928_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE2LTgtMS0xLTIzMDI4_8db14a8a-529a-40d0-a9c3-d59ba65db04f"
      unitRef="usd">-2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE2LTE0LTEtMS0yMzAyOA_f7bc288f-768f-4070-a16e-00e8c268a36a"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ieb15da6863d34490b853f452dd873928_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE3LTgtMS0xLTIzMDI4_1b63401b-246c-4270-9573-7b38f8a5298a"
      unitRef="usd">11212000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE3LTE0LTEtMS0yMzAyOA_742a60c9-d71e-4697-b5b7-7f70c113ef72"
      unitRef="usd">11212000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i46270d082814490a99c0c012de5e3baf_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE4LTItMS0xLTIzMDI4_8d8cd8a2-6397-4f59-be25-4d9043a86c6b"
      unitRef="shares">11925087</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i46270d082814490a99c0c012de5e3baf_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE4LTQtMS0xLTIzMDI4_94c7b18d-7a49-4d86-a13c-54899306d65d"
      unitRef="usd">119000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib336e5d821014b29a2eaeb6219635513_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE4LTgtMS0xLTIzMDI4_4344e5cc-f6bc-4b18-aa89-e5a20c13e4f9"
      unitRef="usd">104253000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5a2da5814b194bdcb5aa05e0b09eccf2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE4LTEwLTEtMS0yMzAyOA_6d504738-555a-484d-9b26-89e0fdec5608"
      unitRef="usd">377263000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i86a870eeaa324c6aae04b39eaecf5e7f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE4LTEyLTEtMS0yMzAyOA_ffe1049a-6365-4f70-88da-ba72670406cf"
      unitRef="usd">-7033000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE4LTE0LTEtMS0yMzAyOA_5f6ec748-85f8-48fd-acac-8c9a9344a0d2"
      unitRef="usd">474602000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i28f1d84db7144be582a2d1f3ebc8ba9d_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE5LTEwLTEtMS0yMzAyOA_76e559b3-edf9-4db4-8b62-9aaea83e06e7"
      unitRef="usd">28789000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzE5LTE0LTEtMS0yMzAyOA_297f237e-0b96-4c19-aa7a-37f85282cfbf"
      unitRef="usd">28789000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i34fec7472eee4759b55e6d82e285ba0b_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIwLTEyLTEtMS0yMzAyOA_6706b44d-6bf2-4633-be4c-3e6e95714286"
      unitRef="usd">14778000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIwLTE0LTEtMS0yMzAyOA_97e63229-19bf-46e1-bc8f-3ad932014b1d"
      unitRef="usd">14778000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i9a45f77e7d814c7b9f8bad76e55414eb_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIxLTItMS0xLTIzMDI4_8c694fdc-898e-4856-abd5-e1509648ef15"
      unitRef="shares">59693</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i9a45f77e7d814c7b9f8bad76e55414eb_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIxLTQtMS0xLTIzMDI4_08ebb6cb-d5ad-4a46-9088-10db31b4bd4e"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ife330bfe8f3b4249b5fa349cc4871136_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIxLTgtMS0xLTIzMDI4_584eda45-1134-48c9-932e-53b6faf7e52a"
      unitRef="usd">2230000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIxLTE0LTEtMS0yMzAyOA_b3c01c53-4dab-4cd0-ab51-7edcd9f522a6"
      unitRef="usd">2231000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i9a45f77e7d814c7b9f8bad76e55414eb_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIyLTItMS0xLTIzMDI4_b1425c82-f1ca-4595-a927-59513444da3a"
      unitRef="shares">109186</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i9a45f77e7d814c7b9f8bad76e55414eb_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIyLTQtMS0xLTIzMDI4_008ba3e5-4e66-4801-aa7b-541319147f39"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ife330bfe8f3b4249b5fa349cc4871136_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIyLTgtMS0xLTIzMDI4_7a8a8c5c-6ac3-4758-b588-d272a3b1485d"
      unitRef="usd">3474000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIyLTE0LTEtMS0yMzAyOA_13854868-1bd9-40ab-9141-5de1b57ed88e"
      unitRef="usd">3475000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i9a45f77e7d814c7b9f8bad76e55414eb_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIzLTItMS0xLTIzMDI4_a398506a-6182-4299-bfc2-c12c8ce3da00"
      unitRef="shares">151213</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i9a45f77e7d814c7b9f8bad76e55414eb_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIzLTQtMS0xLTIzMDI4_7fa37936-9548-445b-92ec-8352b78d2a5a"
      unitRef="usd">2000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ife330bfe8f3b4249b5fa349cc4871136_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIzLTgtMS0xLTIzMDI4_ed3dea85-cb90-4753-bc7d-e463dc6c6f24"
      unitRef="usd">7457000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzIzLTE0LTEtMS0yMzAyOA_bf0881ec-91cf-46ab-8eca-f480cba085ed"
      unitRef="usd">7459000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i9a45f77e7d814c7b9f8bad76e55414eb_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI0LTItMS0xLTIzMDI4_08dde4ff-200f-4824-a2c6-892f662d0118"
      unitRef="shares">163532</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i9a45f77e7d814c7b9f8bad76e55414eb_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI0LTQtMS0xLTIzMDI4_330aa932-4dd4-4549-81fb-e40762f9b1fe"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ife330bfe8f3b4249b5fa349cc4871136_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI0LTgtMS0xLTIzMDI4_1d8d37e0-a2f2-4cfc-ac66-3d2a138804aa"
      unitRef="usd">-2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI0LTE0LTEtMS0yMzAyOA_458da61a-4878-4f23-b03b-5e4aa1a43a93"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ife330bfe8f3b4249b5fa349cc4871136_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI1LTgtMS0xLTIzMDI4_82a71e73-cfd0-4666-84be-6bd0d0e183e1"
      unitRef="usd">9544000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI1LTE0LTEtMS0yMzAyOA_2a706d09-8536-4a73-a866-41a15817cf3c"
      unitRef="usd">9544000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i26db01f4099b4eb0a839d481bef338ea_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI2LTItMS0xLTIzMDI4_b4d40d4d-c866-4bdb-96e6-8b1073f54cde"
      unitRef="shares">12106285</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i26db01f4099b4eb0a839d481bef338ea_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI2LTQtMS0xLTIzMDI4_3dcd63f8-0c47-41c0-b2dc-279ec2e24be8"
      unitRef="usd">121000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i09d6a117d63e4faaad8e8f639641dc6e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI2LTgtMS0xLTIzMDI4_fa9d94b6-d789-4adc-8c40-8055f0354113"
      unitRef="usd">112042000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i37f08b237cba47fe884a5e16fe80966b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI2LTEwLTEtMS0yMzAyOA_3e2c63d0-b991-44cc-b010-cf85b3c763d6"
      unitRef="usd">406052000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6c3d4df211034646a886444c22b829b3_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI2LTEyLTEtMS0yMzAyOA_57e58be1-f0e6-4e86-8cdb-7d3ebaccf733"
      unitRef="usd">7745000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTUvZnJhZzpmMTIyMWRlOTc2Zjc0OWQwOWJiYmVjODFmMTY4NDExNC90YWJsZTplNWE0OTNmODlhY2E0Y2U5YWJkMzNiN2Y1MzlkMDEzZi90YWJsZXJhbmdlOmU1YTQ5M2Y4OWFjYTRjZTlhYmQzM2I3ZjUzOWQwMTNmXzI2LTE0LTEtMS0yMzAyOA_58e46827-fa54-4c70-9688-58049e01718e"
      unitRef="usd">525960000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMtMi0xLTEtMjMwMjg_938dc224-d5f9-48ba-9a5c-dc9afa5ddf0f"
      unitRef="usd">28789000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMtNC0xLTEtMjMwMjg_66158bc8-6c57-4d2f-ad86-e988fac46635"
      unitRef="usd">135536000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMtNi0xLTEtMjMwMjg_44decb11-f1c6-46f7-affe-1557c2d8319f"
      unitRef="usd">29174000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationAndAmortization
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzYtMi0xLTEtMjMwMjg_b7d5b666-cd1f-4a7e-a545-fceec90da969"
      unitRef="usd">31421000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzYtNC0xLTEtMjMwMjg_7ee1c72b-010b-4147-b8f0-5cadec8c5ab2"
      unitRef="usd">28389000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzYtNi0xLTEtMjMwMjg_469c966c-2ed3-4407-bfc0-3cfef8350594"
      unitRef="usd">28850000</us-gaap:DepreciationAndAmortization>
    <dco:RightOfUseAssetAmortization
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzEwLTItMS0xLTIzMDI4_45dbd376-5717-448d-9128-ccad16db28bd"
      unitRef="usd">7267000</dco:RightOfUseAssetAmortization>
    <dco:RightOfUseAssetAmortization
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzEwLTQtMS0xLTIzMDI4_4fb179f4-2bae-4864-945d-5bf351b5f874"
      unitRef="usd">3349000</dco:RightOfUseAssetAmortization>
    <dco:RightOfUseAssetAmortization
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzEwLTYtMS0xLTIzMDI4_46f4a68b-7241-4c72-a862-3bc36c18e8dd"
      unitRef="usd">3157000</dco:RightOfUseAssetAmortization>
    <us-gaap:RestructuringCostsAndAssetImpairmentCharges
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzExLTItMS0xLTIzMDI4_fe0a63de-962e-4759-9a5a-ad8ca9f5e415"
      unitRef="usd">1610000</us-gaap:RestructuringCostsAndAssetImpairmentCharges>
    <us-gaap:RestructuringCostsAndAssetImpairmentCharges
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzExLTQtMS0xLTIzMDI4_21aee6ae-0f82-4f89-9212-c7b60a6dd243"
      unitRef="usd">0</us-gaap:RestructuringCostsAndAssetImpairmentCharges>
    <us-gaap:RestructuringCostsAndAssetImpairmentCharges
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzExLTYtMS0xLTIzMDI4_4db0962a-1de4-4e9d-b48b-e8573cd843ff"
      unitRef="usd">0</us-gaap:RestructuringCostsAndAssetImpairmentCharges>
    <us-gaap:ShareBasedCompensation
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzEyLTItMS0xLTIzMDI4_1a6273d4-b1d3-4d5d-ae75-f651553a65b7"
      unitRef="usd">10744000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzEyLTQtMS0xLTIzMDI4_74466a6e-4efe-4a21-8d02-573efe11d5c1"
      unitRef="usd">11212000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzEyLTYtMS0xLTIzMDI4_095a64e8-cdf9-4c66-94f8-8c196434c18c"
      unitRef="usd">9299000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzEzLTItMS0xLTIzMDI4_8e1b0e9e-dab5-4e6b-9e8c-de10ec47ac90"
      unitRef="usd">-9392000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzEzLTQtMS0xLTIzMDI4_0c99505f-2b26-4eaf-abbd-f44c9e95070d"
      unitRef="usd">1768000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzEzLTYtMS0xLTIzMDI4_1f25ac22-6bce-43f0-9202-a9af6f6fe62d"
      unitRef="usd">327000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE1LTItMS0xLTIzMDI4_88f5b1b1-9448-4813-b149-c4dd4929db1f"
      unitRef="usd">-509000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE1LTQtMS0xLTIzMDI4_b4dd2de7-dbcf-482e-948c-6b6093a910c1"
      unitRef="usd">-454000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE1LTYtMS0xLTIzMDI4_83ee36b7-cecc-4407-a12e-24346cdd0125"
      unitRef="usd">231000</us-gaap:ProvisionForDoubtfulAccounts>
    <dco:NoncashGainsLossesonExtinguishmentofDebt
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE2LTItMS0xLTIzMDI4_c9591780-954e-40b9-a5d8-f04f7fbfb318"
      unitRef="usd">-295000</dco:NoncashGainsLossesonExtinguishmentofDebt>
    <dco:NoncashGainsLossesonExtinguishmentofDebt
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE2LTQtMS0xLTIzMDI4_c51069b5-b895-4d16-8f94-8c6a5191f2ba"
      unitRef="usd">0</dco:NoncashGainsLossesonExtinguishmentofDebt>
    <dco:NoncashGainsLossesonExtinguishmentofDebt
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE2LTYtMS0xLTIzMDI4_d7f613de-aa61-4507-8a80-85c7ff2a2122"
      unitRef="usd">0</dco:NoncashGainsLossesonExtinguishmentofDebt>
    <us-gaap:ProceedsFromInsuranceSettlementOperatingActivities
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE3LTItMS0xLTIzMDI4_b399ec12-578e-4d13-abf2-22ae9fb137d1"
      unitRef="usd">0</us-gaap:ProceedsFromInsuranceSettlementOperatingActivities>
    <us-gaap:ProceedsFromInsuranceSettlementOperatingActivities
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE3LTQtMS0xLTIzMDI4_580d87a8-0e86-41be-987b-4576b83a95be"
      unitRef="usd">0</us-gaap:ProceedsFromInsuranceSettlementOperatingActivities>
    <us-gaap:ProceedsFromInsuranceSettlementOperatingActivities
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE3LTYtMS0xLTIzMDI4_7155dccc-a9db-4819-8426-505535581d1d"
      unitRef="usd">8546000</us-gaap:ProceedsFromInsuranceSettlementOperatingActivities>
    <us-gaap:SaleAndLeasebackTransactionGainLossNet
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE4LTItMS0xLTIzMDI4_077f48bc-c7ba-498f-b104-7542fcdf514e"
      unitRef="usd">0</us-gaap:SaleAndLeasebackTransactionGainLossNet>
    <us-gaap:SaleAndLeasebackTransactionGainLossNet
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE4LTQtMS0xLTIzMDI4_08fcc3ac-937b-4011-82b5-1e023d9d7a60"
      unitRef="usd">132522000</us-gaap:SaleAndLeasebackTransactionGainLossNet>
    <us-gaap:SaleAndLeasebackTransactionGainLossNet
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE4LTYtMS0xLTIzMDI4_e4d7cb54-e5bc-4a9a-811c-c241e303ca35"
      unitRef="usd">0</us-gaap:SaleAndLeasebackTransactionGainLossNet>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE5LTItMS0xLTIzMDI4_416fe89e-615f-4c57-8f7e-d38b0812ff95"
      unitRef="usd">-1060000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE5LTQtMS0xLTIzMDI4_7241071f-b5a3-4ca6-8160-14144efd5e8c"
      unitRef="usd">505000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzE5LTYtMS0xLTIzMDI4_a6ba2721-7ce9-437a-a0d1-9c4c06e087b5"
      unitRef="usd">-826000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzIxLTItMS0xLTIzMDI4_5b35e29a-a4ca-45c8-9d71-b3061db5977c"
      unitRef="usd">31188000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzIxLTQtMS0xLTIzMDI4_99e0c719-dc9a-45e2-b10d-86b7d6b31b2f"
      unitRef="usd">11689000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzIxLTYtMS0xLTIzMDI4_d33f26d4-4977-48fd-9164-5bdd0c75f4e4"
      unitRef="usd">-8877000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzIyLTItMS0xLTIzMDI4_1d271475-ba89-43c8-b28b-9550fbe521bf"
      unitRef="usd">14885000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzIyLTQtMS0xLTIzMDI4_7fb2d603-5328-40c6-bfde-290c84de5f25"
      unitRef="usd">22377000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzIyLTYtMS0xLTIzMDI4_13fe472c-747a-4354-8c0d-4e4118fba6f0"
      unitRef="usd">47358000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzIzLTItMS0xLTIzMDI4_648c59d3-de8a-4e0c-9605-c99645b4413d"
      unitRef="usd">20841000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzIzLTQtMS0xLTIzMDI4_82fdcfce-6ba8-4e74-9ae6-ffb1494328e6"
      unitRef="usd">17129000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzIzLTYtMS0xLTIzMDI4_f85a5de5-86ef-41ec-bae4-8cd641bc518f"
      unitRef="usd">20183000</us-gaap:IncreaseDecreaseInInventories>
    <dco:IncreaseDecreaseinProductionCostofContract
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI0LTItMS0xLTIzMDI4_74646aec-299d-414a-a894-fc6c6a5a4ec2"
      unitRef="usd">-8000</dco:IncreaseDecreaseinProductionCostofContract>
    <dco:IncreaseDecreaseinProductionCostofContract
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI0LTQtMS0xLTIzMDI4_e96b593b-8fe6-4fd9-b965-ffe435c2ccfd"
      unitRef="usd">2311000</dco:IncreaseDecreaseinProductionCostofContract>
    <dco:IncreaseDecreaseinProductionCostofContract
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI0LTYtMS0xLTIzMDI4_d510fcd6-0107-4949-bc6b-2d94b541df6e"
      unitRef="usd">1488000</dco:IncreaseDecreaseinProductionCostofContract>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI1LTItMS0xLTIzMDI4_966b9f51-8772-4feb-a2c9-7c7aa625a7d8"
      unitRef="usd">1354000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI1LTQtMS0xLTIzMDI4_1f768a3b-aebe-419a-a61b-67aee008e945"
      unitRef="usd">4902000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI1LTYtMS0xLTIzMDI4_80070b2d-2ab6-46b1-b340-1ab860d1ad90"
      unitRef="usd">212000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI2LTItMS0xLTIzMDI4_da4682fe-fe52-4daa-ac95-b7db81e6cf40"
      unitRef="usd">24222000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI2LTQtMS0xLTIzMDI4_fb9711da-dcce-483e-97c7-2224ab3bfe39"
      unitRef="usd">2793000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI2LTYtMS0xLTIzMDI4_438b1e3a-6523-4e34-a1a2-54a7fd2dbf12"
      unitRef="usd">-19714000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI3LTItMS0xLTIzMDI4_4434022f-8df3-4221-95c3-3ed2d7aaceb8"
      unitRef="usd">4991000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI3LTQtMS0xLTIzMDI4_ae0ad6e1-03d9-4453-bbf9-de7e8953c600"
      unitRef="usd">13813000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI3LTYtMS0xLTIzMDI4_b44d7bb8-a818-4d12-a0a4-2577ceaf67ac"
      unitRef="usd">13747000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI4LTItMS0xLTIzMDI4_8692cb99-8a69-4360-88e0-d09c4a5a2109"
      unitRef="usd">-6473000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI4LTQtMS0xLTIzMDI4_d966c326-686c-475f-a20a-9f07ce0e7dd5"
      unitRef="usd">-3531000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI4LTYtMS0xLTIzMDI4_30dfa16c-0e21-4a65-9061-da41692bca7c"
      unitRef="usd">-2953000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI5LTItMS0xLTIzMDI4_8beccc4b-bd44-455a-8c19-f799b316dcde"
      unitRef="usd">6915000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI5LTQtMS0xLTIzMDI4_f088b2ba-4644-4296-b476-8a9ea92daeb6"
      unitRef="usd">-2005000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzI5LTYtMS0xLTIzMDI4_9fa48336-1fe9-4b99-9b52-5090c3a5bd8a"
      unitRef="usd">1485000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMwLTItMS0xLTIzMDI4_7cbfa920-7d2b-4b78-a5e4-162b6d820104"
      unitRef="usd">32680000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMwLTQtMS0xLTIzMDI4_d81d5bae-6ddb-448f-b79f-417e300c82f0"
      unitRef="usd">-565000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMwLTYtMS0xLTIzMDI4_7268e8b5-b753-4671-9852-6c3092709cb3"
      unitRef="usd">12611000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMyLTItMS0xLTIzMDI4_2ef2e33e-ca85-45e5-90e5-89e41657dae8"
      unitRef="usd">19689000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMyLTQtMS0xLTIzMDI4_12ff370c-e080-4baf-aa4f-f24af46fc271"
      unitRef="usd">16863000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMyLTYtMS0xLTIzMDI4_b96ed6a0-f557-4f00-bf3d-08cfcd553f8f"
      unitRef="usd">12510000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromLeasePaymentSalesTypeAndDirectFinancingLeasesInvestingActivity
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMzLTItMS0xLTIzMDI4_97a4491f-6951-4014-8f3f-89860a6c2801"
      unitRef="usd">0</us-gaap:ProceedsFromLeasePaymentSalesTypeAndDirectFinancingLeasesInvestingActivity>
    <us-gaap:ProceedsFromLeasePaymentSalesTypeAndDirectFinancingLeasesInvestingActivity
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMzLTQtMS0xLTIzMDI4_44196bcb-29bb-4f04-9153-6caec999f9a1"
      unitRef="usd">143100000</us-gaap:ProceedsFromLeasePaymentSalesTypeAndDirectFinancingLeasesInvestingActivity>
    <us-gaap:ProceedsFromLeasePaymentSalesTypeAndDirectFinancingLeasesInvestingActivity
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzMzLTYtMS0xLTIzMDI4_dd8a494b-1a05-4488-8d7e-ec7f03b81064"
      unitRef="usd">0</us-gaap:ProceedsFromLeasePaymentSalesTypeAndDirectFinancingLeasesInvestingActivity>
    <us-gaap:ProceedsFromSaleOfProductiveAssets
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzM0LTItMS0xLTIzMDI4_7ba4ca6c-4c3a-4494-a62e-535272dd2d45"
      unitRef="usd">82000</us-gaap:ProceedsFromSaleOfProductiveAssets>
    <us-gaap:ProceedsFromSaleOfProductiveAssets
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzM0LTQtMS0xLTIzMDI4_e1264247-63ec-4de0-a7c7-aaa195de7082"
      unitRef="usd">553000</us-gaap:ProceedsFromSaleOfProductiveAssets>
    <us-gaap:ProceedsFromSaleOfProductiveAssets
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzM0LTYtMS0xLTIzMDI4_70b1e143-a847-4758-a432-1cbea76f5f81"
      unitRef="usd">5000</us-gaap:ProceedsFromSaleOfProductiveAssets>
    <us-gaap:ProceedsFromInsuranceSettlementInvestingActivities
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzM1LTItMS0xLTIzMDI4_b02edc6a-c31d-422a-9c5a-f299aa5267e6"
      unitRef="usd">0</us-gaap:ProceedsFromInsuranceSettlementInvestingActivities>
    <us-gaap:ProceedsFromInsuranceSettlementInvestingActivities
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzM1LTQtMS0xLTIzMDI4_c5e63af4-5938-43c0-a15b-55bfbb26dfa7"
      unitRef="usd">0</us-gaap:ProceedsFromInsuranceSettlementInvestingActivities>
    <us-gaap:ProceedsFromInsuranceSettlementInvestingActivities
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzM1LTYtMS0xLTIzMDI4_e8dc72bd-1cc1-4842-b579-63446ebeb039"
      unitRef="usd">4954000</us-gaap:ProceedsFromInsuranceSettlementInvestingActivities>
    <us-gaap:ProceedsFromLifeInsurancePolicies
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzM2LTItMS0xLTIzMDI4_7596c38a-f3fa-48f7-aeb5-a137f34e419a"
      unitRef="usd">0</us-gaap:ProceedsFromLifeInsurancePolicies>
    <us-gaap:ProceedsFromLifeInsurancePolicies
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzM2LTQtMS0xLTIzMDI4_0f3cc7b0-f184-423a-b62b-0294f0238afe"
      unitRef="usd">439000</us-gaap:ProceedsFromLifeInsurancePolicies>
    <us-gaap:ProceedsFromLifeInsurancePolicies
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzM2LTYtMS0xLTIzMDI4_d0ddde6f-2060-47f6-9afe-f6b3af94fd9e"
      unitRef="usd">1889000</us-gaap:ProceedsFromLifeInsurancePolicies>
    <us-gaap:PaymentsToAcquireBusinessTwoNetOfCashAcquired
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQwLTItMS0xLTIzMDI4_896bf845-57ae-400f-ae75-b6e8285f82e3"
      unitRef="usd">-365000</us-gaap:PaymentsToAcquireBusinessTwoNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessTwoNetOfCashAcquired
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQwLTQtMS0xLTIzMDI4_73aa3087-205d-42b3-8541-72bfb9fb5e60"
      unitRef="usd">69479000</us-gaap:PaymentsToAcquireBusinessTwoNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessTwoNetOfCashAcquired
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQwLTYtMS0xLTIzMDI4_441dbe8d-1ffb-40a6-b9f9-8e525d021bc0"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessTwoNetOfCashAcquired>
    <us-gaap:ProceedsFromPreviousAcquisition
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQxLTItMS0xLTIzMDI4_8c35915d-51d8-49c8-b86f-2807ada69943"
      unitRef="usd">0</us-gaap:ProceedsFromPreviousAcquisition>
    <us-gaap:ProceedsFromPreviousAcquisition
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQxLTQtMS0xLTIzMDI4_81789cee-d5df-4b8a-9f4d-853edb99e68b"
      unitRef="usd">0</us-gaap:ProceedsFromPreviousAcquisition>
    <us-gaap:ProceedsFromPreviousAcquisition
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQxLTYtMS0xLTIzMDI4_923d2858-44bf-4327-a213-2f0a985643e5"
      unitRef="usd">190000</us-gaap:ProceedsFromPreviousAcquisition>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQzLTItMS0xLTIzMDI4_1d28256f-41db-45e6-b74b-fb752b8560d3"
      unitRef="usd">-19242000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQzLTQtMS0xLTIzMDI4_10cb9a8b-644f-4961-8489-f9611bd7265d"
      unitRef="usd">57750000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQzLTYtMS0xLTIzMDI4_8a855b10-b872-498b-a320-5379cd37dec6"
      unitRef="usd">-5472000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromSecuredLinesOfCredit
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ1LTItMS0xLTIzMDI4_c9d97a84-0654-4a15-86b0-12c0d42822a4"
      unitRef="usd">4000000</us-gaap:ProceedsFromSecuredLinesOfCredit>
    <us-gaap:ProceedsFromSecuredLinesOfCredit
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ1LTQtMS0xLTIzMDI4_922d5691-0377-4533-9dce-14f026eaaf63"
      unitRef="usd">96000000</us-gaap:ProceedsFromSecuredLinesOfCredit>
    <us-gaap:ProceedsFromSecuredLinesOfCredit
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ1LTYtMS0xLTIzMDI4_23e5d0e7-0b66-47a9-adb0-f821d9c92fee"
      unitRef="usd">65900000</us-gaap:ProceedsFromSecuredLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermLinesOfCredit
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ2LTItMS0xLTIzMDI4_0066942f-b2d8-452a-bf50-4034e572b585"
      unitRef="usd">4000000</us-gaap:RepaymentsOfLongTermLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermLinesOfCredit
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ2LTQtMS0xLTIzMDI4_b13a70b3-6ae8-4c51-89f6-e660a3ab3aea"
      unitRef="usd">121000000</us-gaap:RepaymentsOfLongTermLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermLinesOfCredit
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ2LTYtMS0xLTIzMDI4_89556955-5b28-4cfa-8395-b7c0001c9dae"
      unitRef="usd">40900000</us-gaap:RepaymentsOfLongTermLinesOfCredit>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ3LTItMS0xLTIzMDI4_2fc837a9-fe17-4ca4-a614-9da64fcfb3a6"
      unitRef="usd">250000000</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ3LTQtMS0xLTIzMDI4_9e24d0c8-bc53-4976-ab90-794ebb80dba3"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ3LTYtMS0xLTIzMDI4_850d9a08-acb1-42e6-b015-2954311eb9f9"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ4LTItMS0xLTIzMDI4_9df3f4e5-37c0-459a-a386-0d8596dee9c9"
      unitRef="usd">289274000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ4LTQtMS0xLTIzMDI4_5c372317-3bf1-4b38-aa8c-5b33e3a2f0a1"
      unitRef="usd">7926000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ4LTYtMS0xLTIzMDI4_11aca09b-1de1-46ea-a629-302b9da1f899"
      unitRef="usd">14362000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfDebt
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ5LTItMS0xLTIzMDI4_af7f7a7c-e0c0-4f8a-935c-bdbfdeb766b9"
      unitRef="usd">344000</us-gaap:RepaymentsOfDebt>
    <us-gaap:RepaymentsOfDebt
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ5LTQtMS0xLTIzMDI4_3438203e-f72c-4f01-8b83-563985970342"
      unitRef="usd">362000</us-gaap:RepaymentsOfDebt>
    <us-gaap:RepaymentsOfDebt
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzQ5LTYtMS0xLTIzMDI4_c6356ebc-100b-4382-980e-d04b6a643846"
      unitRef="usd">288000</us-gaap:RepaymentsOfDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzUwLTItMS0xLTIzMDI4_3d4edf2e-1085-4a2c-bfd6-aca1e58c1f53"
      unitRef="usd">2511000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzUwLTQtMS0xLTIzMDI4_69741783-96a1-4ca7-b133-0a070461cde1"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzUwLTYtMS0xLTIzMDI4_ea0d6cc1-d776-41ed-a999-10594278978d"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <dco:PaymentsFromIssuanceofStockUnderAwardPlansNet
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzUyLTItMS0xLTIzMDI4_adc17259-bdd0-4dc5-aa63-b10c3c16f8c2"
      unitRef="usd">1379000</dco:PaymentsFromIssuanceofStockUnderAwardPlansNet>
    <dco:PaymentsFromIssuanceofStockUnderAwardPlansNet
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzUyLTQtMS0xLTIzMDI4_d4f46ae1-5e8c-4c3e-ad12-d9255cdf12f1"
      unitRef="usd">4047000</dco:PaymentsFromIssuanceofStockUnderAwardPlansNet>
    <dco:PaymentsFromIssuanceofStockUnderAwardPlansNet
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzUyLTYtMS0xLTIzMDI4_fd229574-c742-4308-aba3-39a45a0b5615"
      unitRef="usd">607000</dco:PaymentsFromIssuanceofStockUnderAwardPlansNet>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzUzLTItMS0xLTIzMDI4_7121b1fa-112f-4f37-8760-8fe2d7574630"
      unitRef="usd">-43508000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzUzLTQtMS0xLTIzMDI4_fbf6a12d-1e60-4406-9252-69abb10c8fc9"
      unitRef="usd">-37335000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzUzLTYtMS0xLTIzMDI4_9323e6cd-2c5f-4718-8df3-f8168cb5040b"
      unitRef="usd">9743000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzU0LTItMS0xLTIzMDI4_430b0952-0c42-41df-b45e-36d86dd6ef6b"
      unitRef="usd">-30070000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzU0LTQtMS0xLTIzMDI4_2675d662-93df-4814-8d1a-1398ffa680d4"
      unitRef="usd">19850000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzU0LTYtMS0xLTIzMDI4_66b58a15-886c-444f-aa34-f91c91d14d9e"
      unitRef="usd">16882000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzU1LTItMS0xLTIzMDI4_149e7f03-2168-455a-9092-8dc773bc8a80"
      unitRef="usd">76316000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i135be3338504467c88a3e6b8d068dc04_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzU1LTQtMS0xLTIzMDI4_27e82073-4997-4ac3-8e22-95033ef7ccfa"
      unitRef="usd">56466000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia1ce740f93534beeb0ed3a80118f1138_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzU1LTYtMS0xLTIzMDI4_bcffc556-b1fb-46c2-b79c-abd2f4f8576c"
      unitRef="usd">39584000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzU2LTItMS0xLTIzMDI4_1ccb1edb-c341-4bb4-8a86-f4519cefa829"
      unitRef="usd">46246000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzU2LTQtMS0xLTIzMDI4_41d26f50-14e9-4486-80f3-ca80ba8d91fa"
      unitRef="usd">76316000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i135be3338504467c88a3e6b8d068dc04_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMTgvZnJhZzplODliZGY4NTcxZjU0NTRmODk4ODZhYTZmNWFmYmRjZi90YWJsZToxY2Q5ZmU1NzUxZjc0MmI2OGQ2MGM2Mzg4YjIyM2UyZi90YWJsZXJhbmdlOjFjZDlmZTU3NTFmNzQyYjY4ZDYwYzYzODhiMjIzZTJmXzU2LTYtMS0xLTIzMDI4_f907785f-b152-4760-bc4f-d1ac0f55dadb"
      unitRef="usd">56466000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzUy_10b6d1c6-c72c-4607-b3f6-6e7c556f43e7">Summary of Significant Accounting Policies&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Description of Business&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are a leading global provider of innovative, value-added proprietary products and manufacturing solutions for high-performance products and high-cost-of failure applications used primarily in the aerospace and defense (&#x201c;A&amp;amp;D&#x201d;), industrial, medical, and other industries (collectively, &#x201c;Industrial&#x201d;). Our operations are organized into two primary businesses:  Electronic Systems segment (&#x201c;Electronic Systems&#x201d;) and Structural Systems segment (&#x201c;Structural Systems&#x201d;), each of which is a reportable operating segment. Electronic Systems designs, engineers and manufactures high-reliability electronic and electromechanical products used in worldwide technology-driven markets including A&amp;amp;D and Industrial end-use markets. Electronic Systems&#x2019; product offerings primarily range from prototype development to complex assemblies. Structural Systems designs, engineers and manufactures large, complex contoured aerostructure components and assemblies and supplies composite and metal bonded structures and assemblies. Structural Systems&#x2019; products are primarily used on commercial aircraft, military fixed-wing aircraft, and military and commercial rotary-wing aircraft. All reportable operating segments follow the same accounting principles. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;), and include the accounts of Ducommun Incorporated and its subsidiaries (&#x201c;Ducommun,&#x201d; the &#x201c;Company,&#x201d; &#x201c;we,&#x201d; &#x201c;us&#x201d; or &#x201c;our&#x201d;), after eliminating intercompany balances and transactions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our fiscal quarters typically end on the Saturday closest to the end of March, June and September for the first three fiscal quarters of each year, and on December&#160;31 for our fourth fiscal quarter. As a result of using fiscal quarters for the first three quarters combined with leap years, our first and fourth fiscal quarters can range between 12 1/2 weeks to 13 1/2 weeks while the second and third fiscal quarters remain at a constant 13 weeks per fiscal quarter.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain amounts and disclosures included in the consolidated financial statements required management to make estimates and judgments that affect the amount of assets, liabilities (including forward loss reserves), revenues and expenses, and related disclosures of contingent assets and liabilities. These estimates are based on historical experience and on various other assumptions that are believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. Actual results could differ from these estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Reclassifications&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain prior period amounts have been reclassified to conform to current year&#x2019;s presentation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Supplemental Cash Flow Information&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:85.380%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.026%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.026%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.026%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.429%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(Dollars in thousands)&lt;br/&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Taxes paid, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,810&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-cash activities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Purchases of property and equipment not paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assets and liabilities that are measured, recorded or disclosed at fair value on a recurring basis are categorized using the fair value hierarchy. The fair value hierarchy has three levels based on the reliability of the inputs used to determine the fair value. Level 1, the highest level, refers to the values determined based on quoted prices in active markets for identical assets. Level 2 refers to fair values estimated using significant observable inputs. Level 3, the lowest level, includes fair values estimated using significant unobservable inputs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have money market funds and they are included as cash and cash equivalents. We also have forward interest rate swap agreements and had interest rate cap hedge agreements and the fair value of the forward interest rate swap agreements and interest rate cap hedge agreements were determined using pricing models that use observable market inputs as of the balance sheet date, a Level 2 measurement. The interest rate cap hedges matured during the second quarter of 2020 and as such, the premium was zero as of both December&#160;31, 2022 and December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no transfers between Level 1, Level 2, or Level 3 financial instruments in either 2022 or 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash equivalents consist of highly liquid instruments purchased with original maturities of three months or less. These assets are valued at cost, which approximates fair value, which we classify as Level 1. See Fair Value above.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Derivative Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize derivative instruments on our condensed consolidated balance sheets at their fair value. On the date that we enter into a derivative contract, we designate the derivative instrument as a fair value hedge, a cash flow hedge, or a derivative instrument that will not be accounted for using hedge accounting methods. In November 2021, we entered into forward interest rate swap agreements with an aggregate notional amount of $150.0&#160;million, all with an effective date of January 1, 2024 (&#x201c;Forward Interest Rate Swaps&#x201d;) to manage our exposure to interest rate movements on a portion of our debt. As such, at the time we entered into the Forward Interest Rate Swaps, there was a high probability of forecasted interest payments on our debts occurring and the swaps are highly effective in offsetting those interest payments and therefore, we elected to apply cash flow hedge accounting. On July 14, 2022, as a result of refinancing all our existing debt, which allows borrowing based on a Secured Overnight Financing Rate (&#x201c;SOFR&#x201d;), we were required to complete an amendment of the Forward Interest Rate Swaps from One Month London Interbank Offered Rate (&#x201c;LIBOR&#x201d;) to One Month Term SOFR (&#x201c;Amended Forward Interest Rate Swaps&#x201d;), which occurred on the same day. After the transition of the Forward Interest Rate Swaps and debt to SOFR was completed, we determined the hedging relationship was still highly effective as of the amendment date. See Note&#160;9. As of December&#160;31, 2022, all of our derivative instruments were designated as cash flow hedges.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record changes in the fair value of a derivative instrument that is highly effective and that is designated and qualifies as a cash flow hedge in other comprehensive income (loss), net of tax until our earnings are affected by the variability of cash flows of the underlying hedged item. We report changes in the fair values of derivative instruments that are not designated or do not qualify for hedge accounting in current period earnings. We classify cash flows from derivative instruments in the condensed consolidated statements of cash flows in the same category as the item being hedged or on a basis consistent with the nature of the instrument. Since the Amended Forward Interest Rate Swaps are not effective until January 1, 2024, we only record the changes in fair value of the derivative instruments that were highly effective and that were designated and qualified as cash flow hedges. As such, during 2022, we recorded changes of $15.8&#160;million to other assets, deferred income taxes, and accumulated other comprehensive income (loss). During the fourth quarter of 2022, we recorded an adjustment of $6.7&#160;million to correct an understatement of the hedge asset balance as of the end of the third quarter of 2022, with a corresponding increase of $5.1&#160;million to other comprehensive income, net of tax of $1.6&#160;million. There was no impact to net income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;When we determine that a derivative instrument is not highly effective as a hedge, we discontinue hedge accounting prospectively. In all situations in which we discontinue hedge accounting and the derivative instrument remains outstanding, we will carry the derivative instrument at its fair value on our condensed consolidated balance sheets and recognize subsequent changes in its fair value in our current period earnings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We maintain an allowance for credit losses for expected losses from the inability of customers to make required payments. The allowance for credit losses is evaluated periodically for expected credit losses based on the financial condition of customers and their payment history, the aging of accounts receivable, historical write-off experience and other assumptions, such as current assessment of economic conditions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are stated at the lower of cost or net realizable value with cost being determined using a moving average cost basis for raw materials and actual cost for work-in-process and finished goods. The majority of our inventory is charged to cost of sales as raw materials are placed into production. Inventoried costs include raw materials, outside processing, direct labor and allocated overhead, adjusted for any abnormal amounts of idle performance center expense, freight, handling costs, and wasted materials (spoilage) incurred. We assess the inventory carrying value and reduce it, if necessary, to its net realizable value based on customer orders on hand, and internal demand forecasts using management&#x2019;s best estimates given information currently available. The majority of our revenues are recognized over time, however, for revenue contracts where revenue is recognized &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;using the point in time method, inventory is not reduced until it is shipped or transfer of control to the customer has occurred. Our ending inventory consists of raw materials, work-in-process, and finished goods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Property and Equipment and Depreciation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, including assets recorded under operating and finance leases, are recorded at cost. Depreciation and amortization are computed using the straight-line method over the estimated useful lives of the related assets, or the lease term if shorter for leasehold improvements. Repairs and maintenance are charged to expense as incurred. We evaluate long-lived assets for recoverability considering undiscounted cash flows, when significant changes in conditions occur, and recognize impairment losses if any, based upon the fair value of the assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;When a business is acquired, we allocate the purchase price by recording the assets acquired and liabilities assumed at their estimated fair values as of the acquisition date, with the excess cost recorded as goodwill. A preliminary fair value is determined once a business is acquired, with the final determination of fair value be completed no later than one year from the date of acquisition. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;To determine the estimated fair value of assets acquired and liabilities assumed requires significant judgment and estimates, including the selection of valuation methodologies, estimates of future revenues, costs and cash flows, discount rates, and selection of comparable companies. We engage the assistance of valuation specialists in concluding on fair value measurements in determining the fair value of assets acquired and liabilities assumed in business combinations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of the intangible assets is estimated using several valuation methodologies, including the income based or market based approaches, which represent Level 3 fair value measurements. Inputs to fair value analyses and other aspects of the allocation of the purchase price require judgment. The value for customer relationships is typically estimated based on a multi-period excess earnings approach. The more significant inputs used in the customer relationships intangible asset valuation include (i) future revenue growth rates, (ii) projected gross margins, (iii) the customer attrition rate, and (iv) the discount rate. The useful lives are estimated based on the underlying agreements or the future economic benefit expected to be received from the assets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquisition related costs are not included as components of consideration transferred but instead, expensed as incurred and are included in selling, general and administrative expenses in our consolidated statements of income. See Note 2.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is evaluated for impairment on an annual basis on the first day of the fourth fiscal quarter. If certain factors occur, including significant under performance of our business relative to expected operating results, significant adverse economic and industry trends, significant decline in our market capitalization for an extended period of time relative to net book value, a decision to divest individual businesses within a reporting unit, or a decision to group individual businesses differently, we may be required to perform an interim impairment test prior to the fourth quarter. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We may use either a qualitative or quantitative approach when testing a reporting unit&#x2019;s goodwill for impairment. The qualitative approach for potential impairment analysis is performed to determine whether it is more likely than not that the fair value of a reporting unit was less than its carrying amount.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The quantitative approach for potential impairment analysis is performed by comparing the fair value of a reporting unit to its carrying value, including goodwill. Fair value is estimated by management using a combination of the income approach (which is based on a discounted cash flow model) and the market approach. Management&#x2019;s cash flow projections include significant judgments and assumptions, including the amount and timing of expected cash flows, long-term growth rates, and discount rates. The cash flows used in the discounted cash flow model are based on our best estimate of future revenues, gross margins, and adjusted after-tax earnings. If any of these assumptions are incorrect, it will impact the estimated fair value of a reporting unit. The market approach also requires management judgment in selecting comparable business acquisitions and the transaction values observed and its related control premiums.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the fourth quarter of 2022, the carrying amount of goodwill at the date of the most recent annual impairment evaluation for Electronic Systems and Structural Systems was $117.4 million and $86.0 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We acquired 100% of the equity interests of Magnetic Seal LLC (f/k/a Magnetic Seal Corporation, &#x201c;MagSeal&#x201d;) in December 2021, for an original purchase price of $69.5&#160;million, net of cash acquired. We recorded goodwill of $32.6 million in our Structural Systems segment, which is also our reporting unit. See Note 2.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As our commercial aerospace end-use market business continues to be negatively impacted by the COVID-19 pandemic, we performed a step one goodwill impairment test for our Structural Systems reporting unit as of the first day of the fourth quarter of 2022. The fair value of our Structural Systems segment exceeded its carrying value and thus, was not deemed impaired.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of the date of our 2022 annual evaluation for goodwill impairment for the Electronic Systems segment, which is also our reporting unit, we performed a qualitative assessment as of the first day of the fourth quarter of 2022, which considered each of the following:  1) margin of passing most recent step one analysis, 2) actual operating results as compared to prior forecasts, 3) long-term growth rate, 4) analyzing material adverse factors/changes between valuation dates, 5) general macroeconomic factors, and 6) industry and market conditions. Based upon our qualitative assessment, we concluded that it was more likely than not that the fair value of the reporting unit exceeded its carrying amount and thus, goodwill was not deemed impaired.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Other Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We amortize acquired other intangible assets with finite lives over the estimated economic lives of the assets, ranging from 2 to 19 years, generally using the straight-line method. The value of other intangibles acquired through business combinations has been estimated using present value techniques which involve estimates of future cash flows. We evaluate other intangible assets for recoverability considering undiscounted cash flows when significant changes in conditions occur, and recognize impairment losses, if any, based upon the estimated fair value of the assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Accumulated Other Comprehensive Loss&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accumulated other comprehensive loss, as reflected on the consolidated balance sheets under the equity section, was comprised of cumulative pension and retirement liability adjustments, net of tax, and change in net unrealized gains and losses on cash flow hedges, net of tax.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our customers typically engage us to manufacture products based on designs and specifications provided by the end-use customer. This requires the building of tooling and manufacturing first article inspection products (prototypes) before volume manufacturing. Contracts with our customers generally include a termination for convenience clause.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have a significant number of contracts that are started and completed within the same year, as well as contracts derived from long-term agreements and programs that can span several years. We recognize revenue under ASC 606, &#x201c;Revenue from Contracts with Customers&#x201d; (&#x201c;ASC 606&#x201d;), which utilizes a five-step model.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The definition of a contract for us is typically defined as a customer purchase order as this is when we achieve an enforceable right to payment. The majority of our contracts are firm fixed-price contracts. The deliverables within a customer purchase order are analyzed to determine the number of performance obligations. In addition, at times, in order to achieve economies of scale and based on our customer&#x2019;s forecasted demand, we may build in advance of receiving a purchase order from our customer. When that occurs, we would not recognize revenue until we have received the customer purchase order.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account under ASC 606. A contract&#x2019;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, control is transferred and the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services are highly interrelated or met the series guidance. For contracts with multiple performance obligations, we allocate the contract transaction price to each performance obligation using our best estimate of the standalone selling price of each distinct good or service in the contract. The primary method used to estimate the standalone selling price is the expected cost plus a margin approach, under which we forecast our expected costs of satisfying a performance obligation and then add an appropriate margin for that distinct good or service.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We manufacture most products to customer specifications and the product cannot be easily modified for another customer. As such, these products are deemed to have no alternative use once the manufacturing process begins. In the event the customer invokes a termination for convenience clause, we would be entitled to costs incurred to date plus a reasonable profit. Contract costs typically include labor, materials, overhead, and when applicable, subcontractor costs. For most of our products, we are building assets with no alternative use and have enforceable right to payment, and thus, we recognize revenue using the over time method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of our performance obligations are satisfied over time as work progresses. Typically, revenue is recognized over time using an input measure (i.e., costs incurred to date relative to total estimated costs at completion, also known as cost-to-cost plus reasonable profit) to measure progress. Our typical revenue contract is a firm fixed price contract, and the cost of raw materials could make up a significant amount of the total costs incurred. As such, we believe using the total costs incurred input method would be the most appropriate method. While the cost of raw materials could make up a significant amount of the total costs incurred, there is a direct relationship between our inputs and the transfer of control of goods or services to the customer.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract estimates are based on various assumptions to project the outcome of future events that can span multiple months or years. These assumptions include labor productivity and availability; the complexity of the work to be performed; the cost and availability of materials; and the performance of subcontractors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a significant change in one or more of these estimates could affect the progress completed (and related profitability) on our contracts, we review and update our contract-related estimates on a regular basis. We recognize such adjustments under the cumulative catch-up method. Under this method, the impact of the adjustment is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The impact of adjustments in contract estimates on our operating earnings can be reflected in either operating costs and expenses or revenue. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net cumulative catch-up adjustments on profit recorded were not material for both years ended December&#160;31, 2022 and December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Payments under long-term contracts may be received before or after revenue is recognized. When revenue is recognized before we bill our customer, a contract asset is created for the work performed but not yet billed. Similarly, when we receive payment before we ship our products to our customer and have met the shipping terms, a contract liability is created for the advance or progress payment. When a contract liability and a contract asset exist on the same contract, we report it on a net basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record provisions for the total anticipated losses on contracts, considering total estimated costs to complete the contract compared to total anticipated revenues, in the period in which such losses are identified. The provisions for estimated losses on contracts require us to make certain estimates and assumptions, including those with respect to the future revenue under a contract and the future cost to complete the contract. Our estimate of the future cost to complete a contract may include assumptions as to changes in manufacturing efficiency, operating and material costs, and our ability to resolve claims and assertions with our customers. If any of these or other assumptions and estimates do not materialize in the future, we may be required to adjust the provisions for estimated losses on contracts. The provision for estimated losses on contracts is included as part of contract liabilities on the consolidated balance sheets. As of December&#160;31, 2022 and 2021, provision for estimated losses on contracts were $3.9 million and $2.8 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Production cost of contracts includes non-recurring production costs, such as design and engineering costs, and tooling and other special-purpose machinery necessary to build parts as specified in a contract. Production costs of contracts are recorded to cost of sales using the over time revenue recognition model. We review the value of the production cost of contracts on a quarterly basis to ensure when added to the estimated cost to complete, the value is not greater than the estimated realizable value of the related contracts. As of December&#160;31, 2022 and 2021, production costs of contracts were $5.7 million and $8.0 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Contract Assets and Contract Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets consist of our right to payment for work performed but not yet billed. Contract assets are transferred to accounts receivable when we bill our customers. We bill our customers when we ship the products and meet the shipping terms within the revenue contract. Contract liabilities consist of advance or progress payments received from our customers prior to the time transfer of control occurs plus the estimated losses on contracts. When a contract liability and a contract asset exist on the same contract, we report it on a net basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets and contract liabilities from revenue contracts with customers are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.973%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(Dollars in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,068&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The increase in our contract assets as of December&#160;31, 2022 compared to December&#160;31, 2021 was primarily due to a net increase of products in work in process.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The increase in our contract liabilities as of December&#160;31, 2022 compared to December&#160;31, 2021 was primarily due to a net increase of advance or progress payments received from our customers in the current year. We recognized $32.7&#160;million of the contract liabilities as of December&#160;31, 2021 as revenues during the year ended December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Performance obligations are defined as customer placed purchase orders (&#x201c;POs&#x201d;) with firm fixed price and firm delivery dates. Our remaining performance obligations as of December&#160;31, 2022 totaled $853.0 million. We anticipate recognizing an estimated 70% of our remaining performance obligations as revenue during the next 12 months with the remaining performance obligations being recognized in 2024 and beyond.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Revenue by Category&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition to the revenue categories disclosed above, the following table reflects our revenue disaggregated by major end-use market:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.780%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.092%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.240%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.540%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(Dollars in thousands)&lt;br/&gt;Years&#160;Ended&#160;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;% of Net Revenues&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Change&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Consolidated Ducommun&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Military and space&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(33,147)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;453,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial aerospace&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Industrial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;712,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;645,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Military and space&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,730)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;314,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial aerospace&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Industrial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;440,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;412,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Military and space&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,417)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial aerospace&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;232,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income taxes are accounted for using an asset and liability approach that requires the recognition of deferred tax assets and liabilities. Deferred tax assets and liabilities are recognized, using enacted tax rates, for the expected future tax consequences of temporary differences between the book and tax bases of recorded assets and liabilities, operating losses, and tax credit carryforwards. Deferred tax assets are evaluated quarterly and are reduced by a valuation allowance if it is more likely than not that some portion or all of the deferred tax assets will not be realized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tax positions taken or expected to be taken in a tax return are recognized when it is more-likely-than-not, based on technical merits, to be sustained upon examination by taxing authorities. The amount recognized is measured as the largest amount of benefit that is greater than 50% likely of being realized upon ultimate settlement, including resolution of related appeals and/or litigation process, if any.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Litigation and Commitments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the normal course of business, we are defendants in certain litigation, claims and inquiries, including matters relating to environmental laws. In addition, we make various commitments and incur contingent liabilities. Management&#x2019;s estimates regarding contingent liabilities could differ from actual results.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Environmental Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Environmental liabilities are recorded when environmental assessments and/or remedial efforts are probable and costs can be reasonably estimated. Generally, the timing of these accruals coincides with the completion of a feasibility study or our commitment to a formal plan of action. Further, we review and update our environmental accruals as circumstances change and/or additional information is obtained that reasonably could be expected to have a meaningful effect on the outcome of a matter or the estimated cost thereof.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Accounting for Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We measure and recognize compensation expense for share-based payment transactions to our employees and non-employees at their estimated fair value. The expense is measured at the grant date, based on the calculated fair value of the share-based award, and is recognized over the requisite service period (generally the vesting period of the equity award). The fair value of stock options are determined using the Black-Scholes-Merton (&#x201c;Black-Scholes&#x201d;) valuation model, which requires assumptions and judgments regarding stock price volatility, risk-free interest rates, and expected options terms. Management&#x2019;s estimates &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;could differ from actual results. The fair value of unvested stock awards is determined based on the closing price of the underlying common stock on the date of grant except for market condition awards for which the fair value was based on a Monte Carlo simulation model. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Government Grant&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2021, we were awarded an Aviation Manufacturing Jobs Protection Program grant from the U.S. Department of Transportation of $4.0&#160;million. As part of the award, we had to meet, and did complete, certain requirements over a six month performance period from November 15, 2021 to May 14, 2022. As of December&#160;31, 2022, we have received the entire $4.0&#160;million grant balance, $2.0&#160;million of which was received during 2021. We recorded $2.7&#160;million and $0.3&#160;million as a reduction of cost of sales and selling, general and administrative expenses, respectively, during 2022 and $0.9&#160;million and $0.1&#160;million as a reduction of cost of sales and selling, general and administrative expenses, respectively, during 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Charitable Contributions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We contributed $0.1&#160;million to the Ducommun Foundation during 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Earnings Per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic earnings per share are computed by dividing income available to common shareholders by the weighted-average number of common shares outstanding in each period. Diluted earnings per share is computed by dividing income available to common shareholders by the weighted-average number of common shares outstanding, plus potentially dilutive shares that could be issued if exercised or converted into common stock in each period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net income and weighted-average common shares outstanding used to compute earnings per share were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.564%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands, except per share data)&lt;br/&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average number of common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic weighted-average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive potential common shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted weighted-average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,366&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,932&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.06&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Potentially dilutive stock awards to purchase common stock, as shown below, were excluded from the computation of diluted earnings per share because their inclusion would have been anti-dilutive. However, these shares may be potentially dilutive common shares in the future.&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.021%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Years&#160;Ended&#160;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options and stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;New Accounting Guidance Adopted in 2022 &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2020, the FASB issued ASU 2020-06, &#x201c;Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity&#x2019;s Own Equity (Subtopic 815-40) - Accounting for Convertible Instruments and Contracts in an Entity&#x2019;s Own Equity&#x201d; (&#x201c;ASU 2020-06&#x201d;), which simplifies reporting or provides clarification on various topics, including clarification that an entity should use the weighted-average share count from each quarter when calculating the year-to-date weighted-average share count. The new guidance is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years, which was our interim period beginning January 1, 2022. The adoption of this standard did not have a material impact on our consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In March 2020, the FASB issued ASU 2020-04, &#x201c;Reference Rate Reform (Topic 848), Facilitation of the Effects of Reference Rate Reform on Financial Reporting&#x201d; (&#x201c;ASU 2020-04&#x201d;), which provides optional guidance for a limited time for contracts that &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;reference London Interbank Offered Rate (&#x201c;LIBOR&#x201d;), to ease the potential burden in accounting for, or recognizing the effects, of reference rate reform on financial reporting as a result of the cessation of LIBOR. The new guidance is effective at any time after March 12, 2020 but no later than December 31, 2022. Prior to the adoption of this standard, during the three months ended October 1, 2022, we had made the following elections related to our current cash flow hedging relationships as our current term loans mature before the expiration of the Forward Interest Rate Swaps: 1) Probability of forecasted transactions, and 2) Assessment of effectiveness. The adoption of this standard during the three months ended October 1, 2022, did not have a material impact on our consolidated financial statements. See Note 9.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recently Issued Accounting Standards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2022, the FASB issued ASU 2022-06, &#x201c;Reference Rate Reform (Topic 848), Deferral of the Sunset Date of Topic 848&#x201d; (&#x201c;ASU 2022-06&#x201d;), which defers the sunset date of Topic 848 from December 31, 2022, to December 31, 2024, after which entities will no longer be permitted to apply the relief in Topic 848. Since we adopted ASU 2020-04 during 2022, ASU 2022-06 will not have a material impact on our consolidated financial statements. See Note 9.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzQxNw_668ebc10-fed1-4a04-88d7-6270b90f4fe0"
      unitRef="segment">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzQ1_aee0ed5e-369d-4e34-842c-4a87c5b52e11">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;), and include the accounts of Ducommun Incorporated and its subsidiaries (&#x201c;Ducommun,&#x201d; the &#x201c;Company,&#x201d; &#x201c;we,&#x201d; &#x201c;us&#x201d; or &#x201c;our&#x201d;), after eliminating intercompany balances and transactions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our fiscal quarters typically end on the Saturday closest to the end of March, June and September for the first three fiscal quarters of each year, and on December&#160;31 for our fourth fiscal quarter. As a result of using fiscal quarters for the first three quarters combined with leap years, our first and fourth fiscal quarters can range between 12 1/2 weeks to 13 1/2 weeks while the second and third fiscal quarters remain at a constant 13 weeks per fiscal quarter.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0Mzky_4d8d0714-c384-4af7-956e-1b152480af87">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain amounts and disclosures included in the consolidated financial statements required management to make estimates and judgments that affect the amount of assets, liabilities (including forward loss reserves), revenues and expenses, and related disclosures of contingent assets and liabilities. These estimates are based on historical experience and on various other assumptions that are believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. Actual results could differ from these estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0NDYw_7b1944bc-51f5-4e50-b288-46d165f8c017">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Reclassifications&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain prior period amounts have been reclassified to conform to current year&#x2019;s presentation.&lt;/span&gt;&lt;/div&gt;</us-gaap:PriorPeriodReclassificationAdjustmentDescription>
    <us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzYx_843c3f5c-6fa2-49b5-9041-d38a6724579a">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Supplemental Cash Flow Information&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:85.380%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.026%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.026%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.026%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.429%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(Dollars in thousands)&lt;br/&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Taxes paid, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,810&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-cash activities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Purchases of property and equipment not paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock>
    <us-gaap:InterestPaidNet
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplNTcyN2FiYWM4YmE0YWM0YjJkM2Q4ZTcyMjM2YTBmMS90YWJsZXJhbmdlOmU1NzI3YWJhYzhiYTRhYzRiMmQzZDhlNzIyMzZhMGYxXzItMi0xLTEtMjMwMjg_605a6051-abde-462d-9dcb-e0ba83d8960a"
      unitRef="usd">10983000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplNTcyN2FiYWM4YmE0YWM0YjJkM2Q4ZTcyMjM2YTBmMS90YWJsZXJhbmdlOmU1NzI3YWJhYzhiYTRhYzRiMmQzZDhlNzIyMzZhMGYxXzItNC0xLTEtMjMwMjg_d6c124ce-0d2f-478e-aae6-b10f728b000b"
      unitRef="usd">10135000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplNTcyN2FiYWM4YmE0YWM0YjJkM2Q4ZTcyMjM2YTBmMS90YWJsZXJhbmdlOmU1NzI3YWJhYzhiYTRhYzRiMmQzZDhlNzIyMzZhMGYxXzItNi0xLTEtMjMwMjg_2cdb56e2-e4e7-4edd-828b-34ad91c414c8"
      unitRef="usd">11859000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplNTcyN2FiYWM4YmE0YWM0YjJkM2Q4ZTcyMjM2YTBmMS90YWJsZXJhbmdlOmU1NzI3YWJhYzhiYTRhYzRiMmQzZDhlNzIyMzZhMGYxXzMtMi0xLTEtMjMwMjg_1324c567-6659-4b12-b1b7-e2fd6371e528"
      unitRef="usd">3825000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplNTcyN2FiYWM4YmE0YWM0YjJkM2Q4ZTcyMjM2YTBmMS90YWJsZXJhbmdlOmU1NzI3YWJhYzhiYTRhYzRiMmQzZDhlNzIyMzZhMGYxXzMtNC0xLTEtMjMwMjg_c377fadf-698f-4e13-a77f-865d26178cc0"
      unitRef="usd">32934000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplNTcyN2FiYWM4YmE0YWM0YjJkM2Q4ZTcyMjM2YTBmMS90YWJsZXJhbmdlOmU1NzI3YWJhYzhiYTRhYzRiMmQzZDhlNzIyMzZhMGYxXzMtNi0xLTEtMjMwMjg_7824ce5d-b24d-4d84-9279-dc3eb002647f"
      unitRef="usd">3810000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplNTcyN2FiYWM4YmE0YWM0YjJkM2Q4ZTcyMjM2YTBmMS90YWJsZXJhbmdlOmU1NzI3YWJhYzhiYTRhYzRiMmQzZDhlNzIyMzZhMGYxXzUtMi0xLTEtMjMwMjg_1e2cc887-6d23-4f46-9cc0-349320a0b66f"
      unitRef="usd">1195000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplNTcyN2FiYWM4YmE0YWM0YjJkM2Q4ZTcyMjM2YTBmMS90YWJsZXJhbmdlOmU1NzI3YWJhYzhiYTRhYzRiMmQzZDhlNzIyMzZhMGYxXzUtNC0xLTEtMjMwMjg_bfdffbda-35e1-4008-b57c-bfd39d4ba9c4"
      unitRef="usd">1333000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplNTcyN2FiYWM4YmE0YWM0YjJkM2Q4ZTcyMjM2YTBmMS90YWJsZXJhbmdlOmU1NzI3YWJhYzhiYTRhYzRiMmQzZDhlNzIyMzZhMGYxXzUtNi0xLTEtMjMwMjg_cb8c011c-9358-47f5-93dd-801666834979"
      unitRef="usd">2477000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0Mzg0_71ef9de6-f45d-4336-b27a-073302cd489d">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assets and liabilities that are measured, recorded or disclosed at fair value on a recurring basis are categorized using the fair value hierarchy. The fair value hierarchy has three levels based on the reliability of the inputs used to determine the fair value. Level 1, the highest level, refers to the values determined based on quoted prices in active markets for identical assets. Level 2 refers to fair values estimated using significant observable inputs. Level 3, the lowest level, includes fair values estimated using significant unobservable inputs.&lt;/span&gt;&lt;/div&gt;We have money market funds and they are included as cash and cash equivalents. We also have forward interest rate swap agreements and had interest rate cap hedge agreements and the fair value of the forward interest rate swap agreements and interest rate cap hedge agreements were determined using pricing models that use observable market inputs as of the balance sheet date, a Level 2 measurement.</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:DebtInstrumentUnamortizedPremium
      contextRef="ibd79a31663f244038150949d03c041f6_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzQ1NDY_24099078-827e-48fe-86d2-029ce7c53cc5"
      unitRef="usd">0</us-gaap:DebtInstrumentUnamortizedPremium>
    <us-gaap:DebtInstrumentUnamortizedPremium
      contextRef="i92648ee113ab487581edf3bdec029b70_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzQ1NDY_f82e8c63-5f71-4653-bb13-25b3609025a8"
      unitRef="usd">0</us-gaap:DebtInstrumentUnamortizedPremium>
    <us-gaap:CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzU1_031c9ce8-234b-4bec-8d16-f6e8ed0a07ef">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash equivalents consist of highly liquid instruments purchased with original maturities of three months or less. These assets are valued at cost, which approximates fair value, which we classify as Level 1. See Fair Value above.&lt;/span&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:DerivativesPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0NDMy_07fcdbb4-cd10-43c4-8a24-5e074f7a7fac">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Derivative Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize derivative instruments on our condensed consolidated balance sheets at their fair value. On the date that we enter into a derivative contract, we designate the derivative instrument as a fair value hedge, a cash flow hedge, or a derivative instrument that will not be accounted for using hedge accounting methods. In November 2021, we entered into forward interest rate swap agreements with an aggregate notional amount of $150.0&#160;million, all with an effective date of January 1, 2024 (&#x201c;Forward Interest Rate Swaps&#x201d;) to manage our exposure to interest rate movements on a portion of our debt. As such, at the time we entered into the Forward Interest Rate Swaps, there was a high probability of forecasted interest payments on our debts occurring and the swaps are highly effective in offsetting those interest payments and therefore, we elected to apply cash flow hedge accounting. On July 14, 2022, as a result of refinancing all our existing debt, which allows borrowing based on a Secured Overnight Financing Rate (&#x201c;SOFR&#x201d;), we were required to complete an amendment of the Forward Interest Rate Swaps from One Month London Interbank Offered Rate (&#x201c;LIBOR&#x201d;) to One Month Term SOFR (&#x201c;Amended Forward Interest Rate Swaps&#x201d;), which occurred on the same day. After the transition of the Forward Interest Rate Swaps and debt to SOFR was completed, we determined the hedging relationship was still highly effective as of the amendment date. See Note&#160;9. As of December&#160;31, 2022, all of our derivative instruments were designated as cash flow hedges.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record changes in the fair value of a derivative instrument that is highly effective and that is designated and qualifies as a cash flow hedge in other comprehensive income (loss), net of tax until our earnings are affected by the variability of cash flows of the underlying hedged item. We report changes in the fair values of derivative instruments that are not designated or do not qualify for hedge accounting in current period earnings. We classify cash flows from derivative instruments in the condensed consolidated statements of cash flows in the same category as the item being hedged or on a basis consistent with the nature of the instrument. Since the Amended Forward Interest Rate Swaps are not effective until January 1, 2024, we only record the changes in fair value of the derivative instruments that were highly effective and that were designated and qualified as cash flow hedges. As such, during 2022, we recorded changes of $15.8&#160;million to other assets, deferred income taxes, and accumulated other comprehensive income (loss). During the fourth quarter of 2022, we recorded an adjustment of $6.7&#160;million to correct an understatement of the hedge asset balance as of the end of the third quarter of 2022, with a corresponding increase of $5.1&#160;million to other comprehensive income, net of tax of $1.6&#160;million. There was no impact to net income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;When we determine that a derivative instrument is not highly effective as a hedge, we discontinue hedge accounting prospectively. In all situations in which we discontinue hedge accounting and the derivative instrument remains outstanding, we will carry the derivative instrument at its fair value on our condensed consolidated balance sheets and recognize subsequent changes in its fair value in our current period earnings.&lt;/span&gt;&lt;/div&gt;</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i5c94b53178784bf58edf989179a47963_I20211130"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzc2OTY1ODE0NDc5Nzk_8fb92964-fee3-408f-b60e-a47aa86c4554"
      unitRef="usd">150000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="if4c2530a83874379be59a437e8f979be_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzc2OTY1ODE0NDc5OTQ_3d1366af-6b82-4116-afc4-b68cd9a44f6a"
      unitRef="usd">15800000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <dco:HedgedAssetFairValueHedgeAdjustmentDueToUnderstatement
      contextRef="i16cd84ddaf9942a7ab13b47cf61a03b8_D20221002-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzc2OTY1ODE0NDg4MzI_f9393ade-fa55-4ed1-bd3b-f65b24b941ad"
      unitRef="usd">6700000</dco:HedgedAssetFairValueHedgeAdjustmentDueToUnderstatement>
    <us-gaap:HedgedAssetFairValueHedgeCumulativeIncreaseDecrease
      contextRef="i7d9cba7f9bfa4a8f818625121a9d0d20_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzc2OTY1ODE0NDg4NDY_75009ceb-13a4-402e-a052-0f20d0ff2e55"
      unitRef="usd">5100000</us-gaap:HedgedAssetFairValueHedgeCumulativeIncreaseDecrease>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i16cd84ddaf9942a7ab13b47cf61a03b8_D20221002-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzc2OTY1ODE0NDg4NjA_e5d71d34-cc90-440d-8c4b-a111d5730660"
      unitRef="usd">1600000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <dco:FinancingReceivableAllowanceForCreditLossPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0NDU3_21929766-3a96-418f-baa5-7ef13a64140f">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We maintain an allowance for credit losses for expected losses from the inability of customers to make required payments. The allowance for credit losses is evaluated periodically for expected credit losses based on the financial condition of customers and their payment history, the aging of accounts receivable, historical write-off experience and other assumptions, such as current assessment of economic conditions.&lt;/span&gt;&lt;/div&gt;</dco:FinancingReceivableAllowanceForCreditLossPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0NDA3_f695f002-956d-42e8-a9f1-f37b0cc0c07e">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are stated at the lower of cost or net realizable value with cost being determined using a moving average cost basis for raw materials and actual cost for work-in-process and finished goods. The majority of our inventory is charged to cost of sales as raw materials are placed into production. Inventoried costs include raw materials, outside processing, direct labor and allocated overhead, adjusted for any abnormal amounts of idle performance center expense, freight, handling costs, and wasted materials (spoilage) incurred. We assess the inventory carrying value and reduce it, if necessary, to its net realizable value based on customer orders on hand, and internal demand forecasts using management&#x2019;s best estimates given information currently available. The majority of our revenues are recognized over time, however, for revenue contracts where revenue is recognized &lt;/span&gt;&lt;/div&gt;using the point in time method, inventory is not reduced until it is shipped or transfer of control to the customer has occurred. Our ending inventory consists of raw materials, work-in-process, and finished goods.</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0NDYx_ef9c1095-4322-4468-b321-18761ab08517">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Property and Equipment and Depreciation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, including assets recorded under operating and finance leases, are recorded at cost. Depreciation and amortization are computed using the straight-line method over the estimated useful lives of the related assets, or the lease term if shorter for leasehold improvements. Repairs and maintenance are charged to expense as incurred. We evaluate long-lived assets for recoverability considering undiscounted cash flows, when significant changes in conditions occur, and recognize impairment losses if any, based upon the fair value of the assets.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzQw_cd2de240-55b2-4b01-b9de-0401697d6041">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;When a business is acquired, we allocate the purchase price by recording the assets acquired and liabilities assumed at their estimated fair values as of the acquisition date, with the excess cost recorded as goodwill. A preliminary fair value is determined once a business is acquired, with the final determination of fair value be completed no later than one year from the date of acquisition. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;To determine the estimated fair value of assets acquired and liabilities assumed requires significant judgment and estimates, including the selection of valuation methodologies, estimates of future revenues, costs and cash flows, discount rates, and selection of comparable companies. We engage the assistance of valuation specialists in concluding on fair value measurements in determining the fair value of assets acquired and liabilities assumed in business combinations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of the intangible assets is estimated using several valuation methodologies, including the income based or market based approaches, which represent Level 3 fair value measurements. Inputs to fair value analyses and other aspects of the allocation of the purchase price require judgment. The value for customer relationships is typically estimated based on a multi-period excess earnings approach. The more significant inputs used in the customer relationships intangible asset valuation include (i) future revenue growth rates, (ii) projected gross margins, (iii) the customer attrition rate, and (iv) the discount rate. The useful lives are estimated based on the underlying agreements or the future economic benefit expected to be received from the assets. &lt;/span&gt;&lt;/div&gt;Acquisition related costs are not included as components of consideration transferred but instead, expensed as incurred and are included in selling, general and administrative expenses in our consolidated statements of income.</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzQ2_2a28df2b-046f-4b54-863d-27e062aa9cf8">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is evaluated for impairment on an annual basis on the first day of the fourth fiscal quarter. If certain factors occur, including significant under performance of our business relative to expected operating results, significant adverse economic and industry trends, significant decline in our market capitalization for an extended period of time relative to net book value, a decision to divest individual businesses within a reporting unit, or a decision to group individual businesses differently, we may be required to perform an interim impairment test prior to the fourth quarter. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We may use either a qualitative or quantitative approach when testing a reporting unit&#x2019;s goodwill for impairment. The qualitative approach for potential impairment analysis is performed to determine whether it is more likely than not that the fair value of a reporting unit was less than its carrying amount.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The quantitative approach for potential impairment analysis is performed by comparing the fair value of a reporting unit to its carrying value, including goodwill. Fair value is estimated by management using a combination of the income approach (which is based on a discounted cash flow model) and the market approach. Management&#x2019;s cash flow projections include significant judgments and assumptions, including the amount and timing of expected cash flows, long-term growth rates, and discount rates. The cash flows used in the discounted cash flow model are based on our best estimate of future revenues, gross margins, and adjusted after-tax earnings. If any of these assumptions are incorrect, it will impact the estimated fair value of a reporting unit. The market approach also requires management judgment in selecting comparable business acquisitions and the transaction values observed and its related control premiums.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the fourth quarter of 2022, the carrying amount of goodwill at the date of the most recent annual impairment evaluation for Electronic Systems and Structural Systems was $117.4 million and $86.0 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We acquired 100% of the equity interests of Magnetic Seal LLC (f/k/a Magnetic Seal Corporation, &#x201c;MagSeal&#x201d;) in December 2021, for an original purchase price of $69.5&#160;million, net of cash acquired. We recorded goodwill of $32.6 million in our Structural Systems segment, which is also our reporting unit. See Note 2.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As our commercial aerospace end-use market business continues to be negatively impacted by the COVID-19 pandemic, we performed a step one goodwill impairment test for our Structural Systems reporting unit as of the first day of the fourth quarter of 2022. The fair value of our Structural Systems segment exceeded its carrying value and thus, was not deemed impaired.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of the date of our 2022 annual evaluation for goodwill impairment for the Electronic Systems segment, which is also our reporting unit, we performed a qualitative assessment as of the first day of the fourth quarter of 2022, which considered each of the following:  1) margin of passing most recent step one analysis, 2) actual operating results as compared to prior forecasts, 3) long-term growth rate, 4) analyzing material adverse factors/changes between valuation dates, 5) general macroeconomic factors, and 6) industry and market conditions. Based upon our qualitative assessment, we concluded that it was more likely than not that the fair value of the reporting unit exceeded its carrying amount and thus, goodwill was not deemed impaired.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:Goodwill
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzQzOTgwNDY1NjQ3OTk_d760e298-6a77-4e2d-a9d1-e32377baa232"
      unitRef="usd">117400000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzQzOTgwNDY1NjQ3OTA_198293c9-6384-4af7-bbaa-9b4c991ae85b"
      unitRef="usd">86000000</us-gaap:Goodwill>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i2829a552f2c94de3a1f44b8543ca0ea2_I20211216"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzEzNDk2_cf464174-5938-4211-b0ac-40381c37c107"
      unitRef="number">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="id67a7f76848a4c2ea391417d52ce6037_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzEzNjM1_9515c4e9-22d0-4617-b97c-047d7874313b"
      unitRef="usd">69500000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:Goodwill
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzEzNjk3_4681aca2-14b6-4584-9509-f05ae2553df6"
      unitRef="usd">32600000</us-gaap:Goodwill>
    <dco:LongLivedAssetsGoodwillAndOtherIntangibleAssetsPolicyPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0NDEy_b2001c7c-53f5-4866-9a40-47e02f350035">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Other Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We amortize acquired other intangible assets with finite lives over the estimated economic lives of the assets, ranging from 2 to 19 years, generally using the straight-line method. The value of other intangibles acquired through business combinations has been estimated using present value techniques which involve estimates of future cash flows. We evaluate other intangible assets for recoverability considering undiscounted cash flows when significant changes in conditions occur, and recognize impairment losses, if any, based upon the estimated fair value of the assets.&lt;/span&gt;&lt;/div&gt;</dco:LongLivedAssetsGoodwillAndOtherIntangibleAssetsPolicyPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i9d97427ddc284e3194e377dfd01c0663_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzE0OTg4_7300e929-bcba-4d9b-b302-cc47bcbb9ec6">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="icd85f7f6e356460ab669ee7e890096da_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzE0OTk0_0bf66dd1-2f0d-4fe6-b69c-92eca879fa67">P19Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0Mzg2_ce3cc904-8e6e-4634-a8b7-0a275148b33a">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Accumulated Other Comprehensive Loss&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accumulated other comprehensive loss, as reflected on the consolidated balance sheets under the equity section, was comprised of cumulative pension and retirement liability adjustments, net of tax, and change in net unrealized gains and losses on cash flow hedges, net of tax.&lt;/span&gt;&lt;/div&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0Mzg3_39693509-bc88-4e71-a827-0c16e90979db">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our customers typically engage us to manufacture products based on designs and specifications provided by the end-use customer. This requires the building of tooling and manufacturing first article inspection products (prototypes) before volume manufacturing. Contracts with our customers generally include a termination for convenience clause.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have a significant number of contracts that are started and completed within the same year, as well as contracts derived from long-term agreements and programs that can span several years. We recognize revenue under ASC 606, &#x201c;Revenue from Contracts with Customers&#x201d; (&#x201c;ASC 606&#x201d;), which utilizes a five-step model.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The definition of a contract for us is typically defined as a customer purchase order as this is when we achieve an enforceable right to payment. The majority of our contracts are firm fixed-price contracts. The deliverables within a customer purchase order are analyzed to determine the number of performance obligations. In addition, at times, in order to achieve economies of scale and based on our customer&#x2019;s forecasted demand, we may build in advance of receiving a purchase order from our customer. When that occurs, we would not recognize revenue until we have received the customer purchase order.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account under ASC 606. A contract&#x2019;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, control is transferred and the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services are highly interrelated or met the series guidance. For contracts with multiple performance obligations, we allocate the contract transaction price to each performance obligation using our best estimate of the standalone selling price of each distinct good or service in the contract. The primary method used to estimate the standalone selling price is the expected cost plus a margin approach, under which we forecast our expected costs of satisfying a performance obligation and then add an appropriate margin for that distinct good or service.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We manufacture most products to customer specifications and the product cannot be easily modified for another customer. As such, these products are deemed to have no alternative use once the manufacturing process begins. In the event the customer invokes a termination for convenience clause, we would be entitled to costs incurred to date plus a reasonable profit. Contract costs typically include labor, materials, overhead, and when applicable, subcontractor costs. For most of our products, we are building assets with no alternative use and have enforceable right to payment, and thus, we recognize revenue using the over time method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of our performance obligations are satisfied over time as work progresses. Typically, revenue is recognized over time using an input measure (i.e., costs incurred to date relative to total estimated costs at completion, also known as cost-to-cost plus reasonable profit) to measure progress. Our typical revenue contract is a firm fixed price contract, and the cost of raw materials could make up a significant amount of the total costs incurred. As such, we believe using the total costs incurred input method would be the most appropriate method. While the cost of raw materials could make up a significant amount of the total costs incurred, there is a direct relationship between our inputs and the transfer of control of goods or services to the customer.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract estimates are based on various assumptions to project the outcome of future events that can span multiple months or years. These assumptions include labor productivity and availability; the complexity of the work to be performed; the cost and availability of materials; and the performance of subcontractors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a significant change in one or more of these estimates could affect the progress completed (and related profitability) on our contracts, we review and update our contract-related estimates on a regular basis. We recognize such adjustments under the cumulative catch-up method. Under this method, the impact of the adjustment is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The impact of adjustments in contract estimates on our operating earnings can be reflected in either operating costs and expenses or revenue. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net cumulative catch-up adjustments on profit recorded were not material for both years ended December&#160;31, 2022 and December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Payments under long-term contracts may be received before or after revenue is recognized. When revenue is recognized before we bill our customer, a contract asset is created for the work performed but not yet billed. Similarly, when we receive payment before we ship our products to our customer and have met the shipping terms, a contract liability is created for the advance or progress payment. When a contract liability and a contract asset exist on the same contract, we report it on a net basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record provisions for the total anticipated losses on contracts, considering total estimated costs to complete the contract compared to total anticipated revenues, in the period in which such losses are identified. The provisions for estimated losses on contracts require us to make certain estimates and assumptions, including those with respect to the future revenue under a contract and the future cost to complete the contract. Our estimate of the future cost to complete a contract may include assumptions as to changes in manufacturing efficiency, operating and material costs, and our ability to resolve claims and assertions with our customers. If any of these or other assumptions and estimates do not materialize in the future, we may be required to adjust the provisions for estimated losses on contracts. The provision for estimated losses on contracts is included as part of contract liabilities on the consolidated balance sheets. As of December&#160;31, 2022 and 2021, provision for estimated losses on contracts were $3.9 million and $2.8 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Production cost of contracts includes non-recurring production costs, such as design and engineering costs, and tooling and other special-purpose machinery necessary to build parts as specified in a contract. Production costs of contracts are recorded to cost of sales using the over time revenue recognition model. We review the value of the production cost of contracts on a quarterly basis to ensure when added to the estimated cost to complete, the value is not greater than the estimated realizable value of the related contracts. As of December&#160;31, 2022 and 2021, production costs of contracts were $5.7 million and $8.0 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Contract Assets and Contract Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets consist of our right to payment for work performed but not yet billed. Contract assets are transferred to accounts receivable when we bill our customers. We bill our customers when we ship the products and meet the shipping terms within the revenue contract. Contract liabilities consist of advance or progress payments received from our customers prior to the time transfer of control occurs plus the estimated losses on contracts. When a contract liability and a contract asset exist on the same contract, we report it on a net basis.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzEwOTk1MTE2ODEzNTg_e236b5a4-3c61-473a-9914-b90fca6d4657"
      unitRef="usd">3900000</us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss>
    <us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzEwOTk1MTE2ODEzNjg_43d0938a-a817-4370-ae02-bf72754fcf28"
      unitRef="usd">2800000</us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss>
    <dco:ProductionCostOfContractsCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzIzMDU0_f826a57f-e58a-44e9-9ecf-fa2b94650445"
      unitRef="usd">5700000</dco:ProductionCostOfContractsCurrent>
    <dco:ProductionCostOfContractsCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzIzMDYx_382b5364-c7f5-48d7-8f38-bddf69a4d30d"
      unitRef="usd">8000000</dco:ProductionCostOfContractsCurrent>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzQx_02a28f46-f4a3-47d3-95af-9deff4ec063e">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets and contract liabilities from revenue contracts with customers are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.973%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(Dollars in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;br/&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,068&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTowNGJmYzdhODNjNGY0YmFmODIxNzk0NWI0ZDg3M2VjZS90YWJsZXJhbmdlOjA0YmZjN2E4M2M0ZjRiYWY4MjE3OTQ1YjRkODczZWNlXzItMi0xLTEtMjMwMjg_a46404e7-b07f-4647-86f0-6c4bd7503bba"
      unitRef="usd">191290000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTowNGJmYzdhODNjNGY0YmFmODIxNzk0NWI0ZDg3M2VjZS90YWJsZXJhbmdlOjA0YmZjN2E4M2M0ZjRiYWY4MjE3OTQ1YjRkODczZWNlXzItNC0xLTEtMjMwMjg_50b75488-9b31-4c63-826e-4197327c5bcf"
      unitRef="usd">176405000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTowNGJmYzdhODNjNGY0YmFmODIxNzk0NWI0ZDg3M2VjZS90YWJsZXJhbmdlOjA0YmZjN2E4M2M0ZjRiYWY4MjE3OTQ1YjRkODczZWNlXzMtMi0xLTEtMjMwMjg_704a55cb-751e-43ee-9387-27e4cf39c4f0"
      unitRef="usd">47068000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTowNGJmYzdhODNjNGY0YmFmODIxNzk0NWI0ZDg3M2VjZS90YWJsZXJhbmdlOjA0YmZjN2E4M2M0ZjRiYWY4MjE3OTQ1YjRkODczZWNlXzMtNC0xLTEtMjMwMjg_b1c3c8f6-c0ff-46c9-b656-ad0a114dfab7"
      unitRef="usd">42077000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzI0MDk0_8a2e6d63-5fab-46cd-be5d-f20786b21965"
      unitRef="usd">32700000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzI0MzUz_19de8a7f-cc34-4faa-8b8d-820e0efaeb94"
      unitRef="usd">853000000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="iec8a339a22ad4e6bbb367f48d0541feb_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzI0Mzk2_a4875d78-0a55-421b-a6a3-a45c1c70a7c0"
      unitRef="number">0.70</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="iec8a339a22ad4e6bbb367f48d0541feb_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzI0NDY3_de69ea3c-2811-489b-9075-ea2d4b48cf49">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0NDI2_c10f860e-dcdd-419a-a81c-2109490e1953">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition to the revenue categories disclosed above, the following table reflects our revenue disaggregated by major end-use market:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.780%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.092%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.240%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.540%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(Dollars in thousands)&lt;br/&gt;Years&#160;Ended&#160;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;% of Net Revenues&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Change&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Consolidated Ducommun&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Military and space&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(33,147)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;453,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial aerospace&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Industrial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;712,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;645,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Military and space&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,730)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;314,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;327,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial aerospace&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Industrial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;440,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;412,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Military and space&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,417)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial aerospace&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;232,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <dco:IncreaseDecreaseinRevenuefromContractwithCustomers
      contextRef="i1ca6f17e04114b0c8e58baebf381482f_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzMtMi0xLTEtMjMwMjg_f036962b-0fb3-482a-a401-f2751b5a049a"
      unitRef="usd">-33147000</dco:IncreaseDecreaseinRevenuefromContractwithCustomers>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1ca6f17e04114b0c8e58baebf381482f_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzMtNC0xLTEtMjMwMjg_748f3454-c6f7-4f44-9a6c-eab08447339f"
      unitRef="usd">420701000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iac17959d5e914878923be531ed6335ac_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzMtNi0xLTEtMjMwMjg_04fbe3ee-d6b5-4f85-b729-510aa5166ff1"
      unitRef="usd">453848000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="i1ca6f17e04114b0c8e58baebf381482f_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzMtOC0xLTEtMjMwMjg_da71acb9-d076-4716-afa8-366ee5d7f2b7"
      unitRef="number">0.591</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="iac17959d5e914878923be531ed6335ac_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzMtMTAtMS0xLTIzMDI4_5b8897d2-a052-4f7f-9800-7268d81f135c"
      unitRef="number">0.703</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:IncreaseDecreaseinRevenuefromContractwithCustomers
      contextRef="i6722f0c1a4234003a53e565edf723d46_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzQtMi0xLTEtMjMwMjg_1a539c16-aa0c-45c1-93ce-ed35c0a6e00e"
      unitRef="usd">91778000</dco:IncreaseDecreaseinRevenuefromContractwithCustomers>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6722f0c1a4234003a53e565edf723d46_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzQtNC0xLTEtMjMwMjg_e6df0364-ae8d-4228-a4a5-b9a0dfe9ad8b"
      unitRef="usd">247509000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i865c5164ebc942f69719d624a63c7622_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzQtNi0xLTEtMjMwMjg_7fe537e0-9fc4-456d-9f55-b65dcb474755"
      unitRef="usd">155731000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="i6722f0c1a4234003a53e565edf723d46_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzQtOC0xLTEtMjMwMjg_112f7056-11ed-4fef-bc0d-924546e8509e"
      unitRef="number">0.347</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="i865c5164ebc942f69719d624a63c7622_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzQtMTAtMS0xLTIzMDI4_547d1e4f-1075-4edd-85a1-32c5090ee92c"
      unitRef="number">0.241</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:IncreaseDecreaseinRevenuefromContractwithCustomers
      contextRef="iaf9feeb4f74846c1aeb1f4c0fde5e7b8_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzUtMi0xLTEtMjMwMjg_d63722b8-d80d-4fe8-9d07-9b949b038774"
      unitRef="usd">8493000</dco:IncreaseDecreaseinRevenuefromContractwithCustomers>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iaf9feeb4f74846c1aeb1f4c0fde5e7b8_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzUtNC0xLTEtMjMwMjg_d4d2019d-b89a-41df-9f02-46b4c7f0d6b0"
      unitRef="usd">44327000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idd66ceaa6707470f9b05d18d6dd603fe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzUtNi0xLTEtMjMwMjg_f1d006a2-bded-480e-b365-e7ae85adb83a"
      unitRef="usd">35834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="iaf9feeb4f74846c1aeb1f4c0fde5e7b8_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzUtOC0xLTEtMjMwMjg_5936acdc-80f7-40fb-ada7-13fb4725c93f"
      unitRef="number">0.062</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="idd66ceaa6707470f9b05d18d6dd603fe_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzUtMTAtMS0xLTIzMDI4_d907f9b7-7f4b-487b-b526-0aee555eef1f"
      unitRef="number">0.056</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:IncreaseDecreaseinRevenuefromContractwithCustomers
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzYtMi0xLTEtMjMwMjg_f35c9545-445d-4729-8934-604ab5ebfbf7"
      unitRef="usd">67124000</dco:IncreaseDecreaseinRevenuefromContractwithCustomers>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzYtNC0xLTEtMjMwMjg_58621cd7-8c25-49c1-9f78-d1750a4e68d7"
      unitRef="usd">712537000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzYtNi0xLTEtMjMwMjg_ce35966d-3768-49c2-9b8d-3dc9dd37d596"
      unitRef="usd">645413000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzYtOC0xLTEtMjMwMjg_d4f9f1b3-894e-49ce-88cc-48b68b3138b1"
      unitRef="number">1.000</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzYtMTAtMS0xLTIzMDI4_be3d4156-8491-4aa0-93cd-6d397891e0f6"
      unitRef="number">1.000</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:IncreaseDecreaseinRevenuefromContractwithCustomers
      contextRef="ia38d2bd545334b6d87ecf763a7f66f47_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzktMi0xLTEtMjMwMjg_b6fe4dc5-c011-4bdf-a620-98ddaabfdc42"
      unitRef="usd">-13730000</dco:IncreaseDecreaseinRevenuefromContractwithCustomers>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia38d2bd545334b6d87ecf763a7f66f47_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzktNC0xLTEtMjMwMjg_af71ba09-9bbe-4d6c-b155-44fe8794094f"
      unitRef="usd">314181000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i22ff880c357d4924a0ea2f2f562aeb22_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzktNi0xLTEtMjMwMjg_d6b23ed0-3db5-459c-9599-12d37e11ddd1"
      unitRef="usd">327911000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="ia38d2bd545334b6d87ecf763a7f66f47_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzktOC0xLTEtMjMwMjg_cc55c8dc-6790-452d-9861-3ee86b83e7b1"
      unitRef="number">0.713</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="i22ff880c357d4924a0ea2f2f562aeb22_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzktMTAtMS0xLTIzMDI4_4bb33327-5160-441a-8ddd-435eb0e59901"
      unitRef="number">0.795</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:IncreaseDecreaseinRevenuefromContractwithCustomers
      contextRef="iacb757cd0afb49939dd587c347b9fe1e_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzEwLTItMS0xLTIzMDI4_f02ae2b2-23d6-46df-936f-63fc4db278e1"
      unitRef="usd">33227000</dco:IncreaseDecreaseinRevenuefromContractwithCustomers>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iacb757cd0afb49939dd587c347b9fe1e_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzEwLTQtMS0xLTIzMDI4_0ef4891d-0b5a-4713-8102-192c1ddbfa24"
      unitRef="usd">82130000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idd0f9d556b324e92913a7ec98597a1f8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzEwLTYtMS0xLTIzMDI4_8ce5114b-b81b-4c9f-94ac-dbdc178c42ef"
      unitRef="usd">48903000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="iacb757cd0afb49939dd587c347b9fe1e_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzEwLTgtMS0xLTIzMDI4_1a5795f1-7597-457c-add5-4142266195b2"
      unitRef="number">0.186</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="idd0f9d556b324e92913a7ec98597a1f8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzEwLTEwLTEtMS0yMzAyOA_e225fb51-8b70-490d-aa81-51b87c39c328"
      unitRef="number">0.118</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:IncreaseDecreaseinRevenuefromContractwithCustomers
      contextRef="i0048c5e3f19842f0a47000bf116cc21f_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzExLTItMS0xLTIzMDI4_704da1ab-eb12-40ab-b940-5048398553f6"
      unitRef="usd">8493000</dco:IncreaseDecreaseinRevenuefromContractwithCustomers>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0048c5e3f19842f0a47000bf116cc21f_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzExLTQtMS0xLTIzMDI4_d2271461-71a5-4f96-805b-5b476ae3c9d5"
      unitRef="usd">44327000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic0203ef3020441b6beb243d6a812bdbe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzExLTYtMS0xLTIzMDI4_756d6e71-5e40-44ed-a1a3-d3fb8c5c43dd"
      unitRef="usd">35834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="i0048c5e3f19842f0a47000bf116cc21f_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzExLTgtMS0xLTIzMDI4_e56308e2-11f9-4282-8416-de996aee20e8"
      unitRef="number">0.101</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="ic0203ef3020441b6beb243d6a812bdbe_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzExLTEwLTEtMS0yMzAyOA_7c75ccea-5eef-4255-9278-8b2f7da4f639"
      unitRef="number">0.087</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:IncreaseDecreaseinRevenuefromContractwithCustomers
      contextRef="i142096b2858541bc87aac6f49e899276_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzEyLTItMS0xLTIzMDI4_4b2cec3d-ab37-405b-affe-44e5bf0fe432"
      unitRef="usd">27990000</dco:IncreaseDecreaseinRevenuefromContractwithCustomers>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i142096b2858541bc87aac6f49e899276_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzEyLTQtMS0xLTIzMDI4_2c65b546-d943-43f4-aa68-54ed8ca5b6c6"
      unitRef="usd">440638000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4a75653ddd45482d96c6fd5cc8c2358f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzEyLTYtMS0xLTIzMDI4_05ea66b0-2d29-4fa9-af6e-2084cdb7ee19"
      unitRef="usd">412648000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="i142096b2858541bc87aac6f49e899276_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzEyLTgtMS0xLTIzMDI4_9c064956-8913-49c3-abe9-50703a38c229"
      unitRef="number">1.000</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="i4a75653ddd45482d96c6fd5cc8c2358f_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzEyLTEwLTEtMS0yMzAyOA_23431480-a6e8-4a35-9d59-509f8c6b970d"
      unitRef="number">1.000</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:IncreaseDecreaseinRevenuefromContractwithCustomers
      contextRef="i1d55f749c3274646b06950368d41658a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE1LTItMS0xLTIzMDI4_0fbcb548-a234-4761-bf8f-8ee648374225"
      unitRef="usd">-19417000</dco:IncreaseDecreaseinRevenuefromContractwithCustomers>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1d55f749c3274646b06950368d41658a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE1LTQtMS0xLTIzMDI4_31121634-70cf-47f8-964a-67a3e19e5894"
      unitRef="usd">106520000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic79497eadc3e451e8c4ce60cb13a8c41_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE1LTYtMS0xLTIzMDI4_dcb3a778-73d3-422e-97f9-9e528a45927a"
      unitRef="usd">125937000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="i1d55f749c3274646b06950368d41658a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE1LTgtMS0xLTIzMDI4_008e73e8-dd7a-4032-ade4-9b54de7935bb"
      unitRef="number">0.392</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="ic79497eadc3e451e8c4ce60cb13a8c41_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE1LTEwLTEtMS0yMzAyOA_256013d3-61c1-4575-b66a-e9d007c04de6"
      unitRef="number">0.541</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:IncreaseDecreaseinRevenuefromContractwithCustomers
      contextRef="iec088e82b4e44abeb5cf3f44449c17c7_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE2LTItMS0xLTIzMDI4_3fd7a515-153a-4665-a801-8946b1d771a8"
      unitRef="usd">58551000</dco:IncreaseDecreaseinRevenuefromContractwithCustomers>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iec088e82b4e44abeb5cf3f44449c17c7_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE2LTQtMS0xLTIzMDI4_8b8d3772-8382-4f09-a02c-a4795dc3e1e8"
      unitRef="usd">165379000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i945e74a4d92f49afa679fe6b1e684ff5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE2LTYtMS0xLTIzMDI4_767d6fa3-ac14-4983-8ec3-696acd0dd9d9"
      unitRef="usd">106828000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="iec088e82b4e44abeb5cf3f44449c17c7_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE2LTgtMS0xLTIzMDI4_460c8adc-46de-4678-9092-c832b2d4fe78"
      unitRef="number">0.608</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="i945e74a4d92f49afa679fe6b1e684ff5_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE2LTEwLTEtMS0yMzAyOA_16fea010-a193-48b2-b217-1c27cb39b8b1"
      unitRef="number">0.459</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:IncreaseDecreaseinRevenuefromContractwithCustomers
      contextRef="ia7b8ad691be742f1a128fc2577691903_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE3LTItMS0xLTIzMDI4_c0c1a5a6-e87a-444e-9969-c4f2568ace54"
      unitRef="usd">39134000</dco:IncreaseDecreaseinRevenuefromContractwithCustomers>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia7b8ad691be742f1a128fc2577691903_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE3LTQtMS0xLTIzMDI4_159d579a-ffec-4f9a-bd6a-4833d45f697d"
      unitRef="usd">271899000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ffbdbb437974117aed7ff326e5f1580_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE3LTYtMS0xLTIzMDI4_e842d46a-dda8-44ca-b8d9-d9c3b0526a65"
      unitRef="usd">232765000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="ia7b8ad691be742f1a128fc2577691903_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE3LTgtMS0xLTIzMDI4_9157e792-a4f6-441e-a089-b76865835fd9"
      unitRef="number">1.000</dco:PercentageOfRevenuesFromContractWithCustomers>
    <dco:PercentageOfRevenuesFromContractWithCustomers
      contextRef="i4ffbdbb437974117aed7ff326e5f1580_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTplOTI1NzViM2ZiMWQ0OGY1ODI0YTRkMWZmMmJlMjVjYy90YWJsZXJhbmdlOmU5MjU3NWIzZmIxZDQ4ZjU4MjRhNGQxZmYyYmUyNWNjXzE3LTEwLTEtMS0yMzAyOA_51e27a20-977e-47bc-bf24-f308b46bf70d"
      unitRef="number">1.000</dco:PercentageOfRevenuesFromContractWithCustomers>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzIz_467891f1-1913-4398-b63a-39c0017651dd">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income taxes are accounted for using an asset and liability approach that requires the recognition of deferred tax assets and liabilities. Deferred tax assets and liabilities are recognized, using enacted tax rates, for the expected future tax consequences of temporary differences between the book and tax bases of recorded assets and liabilities, operating losses, and tax credit carryforwards. Deferred tax assets are evaluated quarterly and are reduced by a valuation allowance if it is more likely than not that some portion or all of the deferred tax assets will not be realized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tax positions taken or expected to be taken in a tax return are recognized when it is more-likely-than-not, based on technical merits, to be sustained upon examination by taxing authorities. The amount recognized is measured as the largest amount of benefit that is greater than 50% likely of being realized upon ultimate settlement, including resolution of related appeals and/or litigation process, if any.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <dco:LitigationAndContingenciesPolicyPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzMw_dcb9d2fd-25c1-4905-84ec-0e3a9863b95e">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Litigation and Commitments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the normal course of business, we are defendants in certain litigation, claims and inquiries, including matters relating to environmental laws. In addition, we make various commitments and incur contingent liabilities. Management&#x2019;s estimates regarding contingent liabilities could differ from actual results.&lt;/span&gt;&lt;/div&gt;</dco:LitigationAndContingenciesPolicyPolicyTextBlock>
    <us-gaap:EnvironmentalCostExpensePolicy
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0Mzkx_de841e86-fd69-4d51-8fc0-2a2739060ef1">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Environmental Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Environmental liabilities are recorded when environmental assessments and/or remedial efforts are probable and costs can be reasonably estimated. Generally, the timing of these accruals coincides with the completion of a feasibility study or our commitment to a formal plan of action. Further, we review and update our environmental accruals as circumstances change and/or additional information is obtained that reasonably could be expected to have a meaningful effect on the outcome of a matter or the estimated cost thereof.&lt;/span&gt;&lt;/div&gt;</us-gaap:EnvironmentalCostExpensePolicy>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzQz_24a06ee2-e854-49a0-9a94-d285c42f5a31">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Accounting for Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We measure and recognize compensation expense for share-based payment transactions to our employees and non-employees at their estimated fair value. The expense is measured at the grant date, based on the calculated fair value of the share-based award, and is recognized over the requisite service period (generally the vesting period of the equity award). The fair value of stock options are determined using the Black-Scholes-Merton (&#x201c;Black-Scholes&#x201d;) valuation model, which requires assumptions and judgments regarding stock price volatility, risk-free interest rates, and expected options terms. Management&#x2019;s estimates &lt;/span&gt;&lt;/div&gt;could differ from actual results. The fair value of unvested stock awards is determined based on the closing price of the underlying common stock on the date of grant except for market condition awards for which the fair value was based on a Monte Carlo simulation model.</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:GrantsReceivable
      contextRef="i542ca7cace334d78a7b910884db231c5_I20211130"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzI3Njk3_c474f8f8-1252-40b6-8a7e-58c16664629f"
      unitRef="usd">4000000</us-gaap:GrantsReceivable>
    <dco:ProceedsReceivedFromGrants
      contextRef="i8e593fbce2e9496ab5fff6135accd14f_D20211130-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzI3ODYz_2976f51c-4e6e-4e65-8442-eaa39af7d17e"
      unitRef="usd">4000000</dco:ProceedsReceivedFromGrants>
    <dco:ProceedsReceivedFromGrants
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzQzOTgwNDY1NjQ4OTk_53bd1b2a-a4e1-4710-95a1-ec7efab7532b"
      unitRef="usd">2000000</dco:ProceedsReceivedFromGrants>
    <dco:GovernmentGrantExpense
      contextRef="i64497dbf002f436abfcee998f9dc72a8_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM1MjQz_2a0d93be-4775-48e9-97a8-b34ec42deb88"
      unitRef="usd">2700000</dco:GovernmentGrantExpense>
    <dco:GovernmentGrantExpense
      contextRef="ib4516b1c39654cf692b58ea0489c0f66_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzI3OTgx_5756d92c-8440-4dc5-b1d0-8cfa48038e9a"
      unitRef="usd">300000</dco:GovernmentGrantExpense>
    <dco:GovernmentGrantExpense
      contextRef="i203aa87a79f449f2b7026ae8c4482347_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzEwOTk1MTE2NjMwNTg_8321d17a-3b07-4462-b26c-441acec5fb7c"
      unitRef="usd">900000</dco:GovernmentGrantExpense>
    <dco:GovernmentGrantExpense
      contextRef="i175f38c5b37443b98671263ccfd11685_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzEwOTk1MTE2NjMwNzI_566d5526-3f34-4706-9d38-058ec439ce7f"
      unitRef="usd">100000</dco:GovernmentGrantExpense>
    <dco:MiscellaneousExpenses
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzI4MTkz_33eeee8d-aa25-4ed9-b700-7ddcf3e2d2ad"
      unitRef="usd">100000</dco:MiscellaneousExpenses>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzI1_fba316ef-9086-44d0-88e0-3f26d4a5decc">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Earnings Per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic earnings per share are computed by dividing income available to common shareholders by the weighted-average number of common shares outstanding in each period. Diluted earnings per share is computed by dividing income available to common shareholders by the weighted-average number of common shares outstanding, plus potentially dilutive shares that could be issued if exercised or converted into common stock in each period.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzE1_2c4222c0-f129-40f7-8abc-0735b5ddde78">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net income and weighted-average common shares outstanding used to compute earnings per share were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.564%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands, except per share data)&lt;br/&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average number of common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic weighted-average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive potential common shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted weighted-average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,366&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,932&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.06&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzItMi0xLTEtMjMwMjg_938dc224-d5f9-48ba-9a5c-dc9afa5ddf0f"
      unitRef="usd">28789000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzItNC0xLTEtMjMwMjg_66158bc8-6c57-4d2f-ad86-e988fac46635"
      unitRef="usd">135536000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzItNi0xLTEtMjMwMjg_44decb11-f1c6-46f7-affe-1557c2d8319f"
      unitRef="usd">29174000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzQtMi0xLTEtMjMwMjg_00d1b412-eeda-45f6-ab8f-e82d2b6f81d8"
      unitRef="shares">12074000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzQtNC0xLTEtMjMwMjg_847657fc-a978-40ee-b938-8599c12e921f"
      unitRef="shares">11879000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzQtNi0xLTEtMjMwMjg_9948e1a9-822d-483b-8ade-25236a9e9ce1"
      unitRef="shares">11676000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzUtMi0xLTEtMjMwMjg_c76af777-ca49-4876-8a73-ce6dee9fe847"
      unitRef="shares">292000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzUtNC0xLTEtMjMwMjg_dcd63b07-e2f1-4500-9f59-ff858f74afea"
      unitRef="shares">372000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzUtNi0xLTEtMjMwMjg_144d1582-4b7e-4f64-99be-b27b8f907d98"
      unitRef="shares">256000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzYtMi0xLTEtMjMwMjg_3de0235f-26a6-45a4-96b4-a000ac00c669"
      unitRef="shares">12366000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzYtNC0xLTEtMjMwMjg_7a3db5f4-2ed6-491c-97e7-d7bde6e9ae1f"
      unitRef="shares">12251000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzYtNi0xLTEtMjMwMjg_f400d076-1722-42be-9dab-c6e8269c7cc4"
      unitRef="shares">11932000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzgtMi0xLTEtMjMwMjg_b2a06c46-4da1-467b-8bb6-0158594ac96a"
      unitRef="usdPerShare">2.38</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzgtNC0xLTEtMjMwMjg_591852ad-3077-4f30-bb43-6fea668a13c9"
      unitRef="usdPerShare">11.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzgtNi0xLTEtMjMwMjg_7cd44558-fd96-40d9-907e-48e1f85e998f"
      unitRef="usdPerShare">2.50</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzktMi0xLTEtMjMwMjg_0bd04991-e6a0-4a75-8d6f-fc209c2234d3"
      unitRef="usdPerShare">2.33</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzktNC0xLTEtMjMwMjg_76ed1f33-83e9-4361-9f7d-861ef1a3307d"
      unitRef="usdPerShare">11.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTpmMjEzMmMzNjg3NDQ0MmNlYTFmNTU3OGYyYjA3MWRhZS90YWJsZXJhbmdlOmYyMTMyYzM2ODc0NDQyY2VhMWY1NTc4ZjJiMDcxZGFlXzktNi0xLTEtMjMwMjg_0566fc2b-b4bb-419a-9c69-1d5f220c1c45"
      unitRef="usdPerShare">2.45</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0MzQ0_28db78aa-7f1f-4bd7-a3aa-c26bc1a0eb57">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Potentially dilutive stock awards to purchase common stock, as shown below, were excluded from the computation of diluted earnings per share because their inclusion would have been anti-dilutive. However, these shares may be potentially dilutive common shares in the future.&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.021%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Years&#160;Ended&#160;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options and stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i6257d54634cd45ed9278c30932273475_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTo1NmJjZTNiZDhjODE0ZGQ0ODIyOWNmMTRkNjdlMjNhMC90YWJsZXJhbmdlOjU2YmNlM2JkOGM4MTRkZDQ4MjI5Y2YxNGQ2N2UyM2EwXzItMi0xLTEtMjMwMjg_311643c2-a371-4e50-b033-5435b4d300b0"
      unitRef="shares">52000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3f3d34d0f8a84310a0c3e99bbb87596f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTo1NmJjZTNiZDhjODE0ZGQ0ODIyOWNmMTRkNjdlMjNhMC90YWJsZXJhbmdlOjU2YmNlM2JkOGM4MTRkZDQ4MjI5Y2YxNGQ2N2UyM2EwXzItNC0xLTEtMjMwMjg_cf2d25d4-0765-4ada-8bcd-4238b5d7655b"
      unitRef="shares">3000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i51f236e48d8e465fb95fb2fd2676ea11_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90YWJsZTo1NmJjZTNiZDhjODE0ZGQ0ODIyOWNmMTRkNjdlMjNhMC90YWJsZXJhbmdlOjU2YmNlM2JkOGM4MTRkZDQ4MjI5Y2YxNGQ2N2UyM2EwXzItNi0xLTEtMjMwMjg_5c59e5d7-493c-45b9-9f81-b3e0d18a55fd"
      unitRef="shares">254000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjQvZnJhZzpjYzA2NTEwZDcwNjc0YTZhOTAxMzcxMjc2N2QwNjVmMy90ZXh0cmVnaW9uOmNjMDY1MTBkNzA2NzRhNmE5MDEzNzEyNzY3ZDA2NWYzXzM0Mzg4_953c858a-2d54-41a3-8324-2f38cb12bf2d">&lt;div style="margin-top:14pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;New Accounting Guidance Adopted in 2022 &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2020, the FASB issued ASU 2020-06, &#x201c;Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity&#x2019;s Own Equity (Subtopic 815-40) - Accounting for Convertible Instruments and Contracts in an Entity&#x2019;s Own Equity&#x201d; (&#x201c;ASU 2020-06&#x201d;), which simplifies reporting or provides clarification on various topics, including clarification that an entity should use the weighted-average share count from each quarter when calculating the year-to-date weighted-average share count. The new guidance is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years, which was our interim period beginning January 1, 2022. The adoption of this standard did not have a material impact on our consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In March 2020, the FASB issued ASU 2020-04, &#x201c;Reference Rate Reform (Topic 848), Facilitation of the Effects of Reference Rate Reform on Financial Reporting&#x201d; (&#x201c;ASU 2020-04&#x201d;), which provides optional guidance for a limited time for contracts that &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;reference London Interbank Offered Rate (&#x201c;LIBOR&#x201d;), to ease the potential burden in accounting for, or recognizing the effects, of reference rate reform on financial reporting as a result of the cessation of LIBOR. The new guidance is effective at any time after March 12, 2020 but no later than December 31, 2022. Prior to the adoption of this standard, during the three months ended October 1, 2022, we had made the following elections related to our current cash flow hedging relationships as our current term loans mature before the expiration of the Forward Interest Rate Swaps: 1) Probability of forecasted transactions, and 2) Assessment of effectiveness. The adoption of this standard during the three months ended October 1, 2022, did not have a material impact on our consolidated financial statements. See Note 9.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recently Issued Accounting Standards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2022, the FASB issued ASU 2022-06, &#x201c;Reference Rate Reform (Topic 848), Deferral of the Sunset Date of Topic 848&#x201d; (&#x201c;ASU 2022-06&#x201d;), which defers the sunset date of Topic 848 from December 31, 2022, to December 31, 2024, after which entities will no longer be permitted to apply the relief in Topic 848. Since we adopted ASU 2020-04 during 2022, ASU 2022-06 will not have a material impact on our consolidated financial statements. See Note 9.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzMyOTE_5b14d7f5-2add-4a3e-be05-d6791d88a8ee">Business Combinations&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December, 2021, we acquired 100.0% of the outstanding equity interests of Magnetic Seal LLC (f/k/a Magnetic Seal Corporation, &#x201c;MagSeal&#x201d;), a privately-held leading provider of high-impact, military-proven magnetic seals for critical systems in aerospace and defense applications, offering sealing solutions that are engineered to perform in high-speed, high-vibration, and other challenging environments. MagSeal is located in Warren, Rhode Island. The acquisition of MagSeal will continue to advance our strategy to diversify and offer more customized, value-driven engineered products with aftermarket opportunities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The original purchase price for MagSeal was $69.5 million, net of cash acquired, all payable in cash. We paid a gross aggregate of $71.3 million in cash upon the closing of the transaction. Subsequent to the closing of the transaction, during the second quarter of 2022, as part of finalizing the working capital adjustment, we received $0.4&#160;million back from the seller which lowered the purchase price to $69.1&#160;million, net of cash acquired. We allocated the final gross purchase price of $70.9&#160;million to the assets acquired and liabilities assumed at their estimated fair values. The excess of the purchase price over the aggregate fair values of the net assets was recorded as goodwill.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the final estimated fair value of the assets acquired and liabilities assumed at the date of acquisition (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:79.532%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.069%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.719%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.812%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,821&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,546&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,577&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(907)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other non-current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,408)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities assumed&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,315)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total purchase price allocation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:79.678%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.422%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.717%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.661%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.717%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Useful Life&lt;br/&gt;(In years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Fair Value&lt;br/&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The intangible assets acquired of $30.1&#160;million were determined based on the estimated fair values using valuation techniques consistent with the income approach to measure fair value, which represented Level 3 fair value measurements. The useful lives were estimated based on the underlying agreements or the future economic benefit expected to be received from the assets. The value for customer relationships and backlog were estimated based on a multi-period excess earnings approach, while the value for trade name was assessed using the relief from royalty methodology. Inputs to the income approach models and other aspects of the allocation of the purchase price require judgment. The more significant inputs used in the customer relationships intangible asset valuation include (i) future revenue growth rates, (ii) projected gross margins, (iii) the customer attrition rate, and (iv) the discount rate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The goodwill of $32.6&#160;million arising from the acquisition is attributable to the benefits we expect to derive from expected synergies from the transaction, including complementary products that will enhance our overall product portfolio, opportunities within new markets, and an acquired assembled workforce. All the goodwill was assigned to the Structural Systems segment. The MagSeal acquisition, for tax purposes, is deemed an asset acquisition and thus, is deductible for income tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquisition related transaction costs were not included as components of consideration transferred but have been expensed as incurred. Total acquisition-related transaction costs incurred by us were $0.9 million during 2021 and charged to selling, general and administrative expenses. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;MagSeal&#x2019;s results of operations have been included in our consolidated statements of income since the date of acquisition as part of the Structural Systems segment and were immaterial since the date of acquisition. Pro forma results of operations of the MagSeal acquisition have not been presented as the effect of the MagSeal acquisition was not material to our financial results for both 2022 and 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzY5_d13f2b16-e75a-4be0-a9be-0258a7e233ad"
      unitRef="number">1.000</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="id67a7f76848a4c2ea391417d52ce6037_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzY5MA_18c52941-eb93-4c15-ba8d-98c04d183963"
      unitRef="usd">69500000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="id67a7f76848a4c2ea391417d52ce6037_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzc2Ng_fedacaf2-63e6-4a06-be90-5be971d7ed15"
      unitRef="usd">71300000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:CashAcquiredFromAcquisition
      contextRef="i0339b02162f64d4bbbfb573d53daed4b_D20220403-20220702"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzc2OTY1ODEzOTgwNTI_64674f39-c7c6-46d7-bde6-d3018daa66f3"
      unitRef="usd">400000</us-gaap:CashAcquiredFromAcquisition>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="id91dd4d24cfe437ea373da0556a0bd48_D20220403-20220702"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzc2OTY1ODEzOTgwNjY_f90ced79-b0a9-4d46-9b02-e37e028d0cc0"
      unitRef="usd">69100000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i0339b02162f64d4bbbfb573d53daed4b_D20220403-20220702"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzg2Nw_de79551e-26c3-4666-9132-cc2993e5600d"
      unitRef="usd">70900000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzMyODU_6df303ac-cbb5-4e24-beb5-28345a63c4e7">&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the final estimated fair value of the assets acquired and liabilities assumed at the date of acquisition (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:79.532%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.069%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.719%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.812%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,821&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,546&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,577&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(907)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other non-current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,408)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities assumed&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,315)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total purchase price allocation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzEtMi0xLTEtMjMwMjg_9bcf2194-e91b-457d-a7e2-dd1576a3feb5"
      unitRef="usd">1821000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzItMi0xLTEtMjMwMjg_77f64acf-57f7-4053-876a-7e61def4f5b3"
      unitRef="usd">2093000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzMtMi0xLTEtMjMwMjg_464ebfe2-7209-435e-b67e-f4ef3b634606"
      unitRef="usd">4546000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzQtMi0xLTEtMjMwMjg_5bfde70f-9a76-4ae7-ab15-99ddec921a85"
      unitRef="usd">98000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzUtMi0xLTEtMjMwMjg_1c3c14d8-cc40-4523-8dd2-3e94c0286111"
      unitRef="usd">482000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <dco:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzYtMi0xLTEtMjMwMjg_77b1e3c7-4461-4914-b8fe-eb4e909f1b12"
      unitRef="usd">1533000</dco:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzctMi0xLTEtMjMwMjg_8ca268ac-8539-4efd-a22b-de15d3514065"
      unitRef="usd">30100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzgtMi0xLTEtMjMwMjg_7adc0c04-df86-4a4d-9f3d-91fd62df2033"
      unitRef="usd">32577000</us-gaap:Goodwill>
    <dco:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedAssets
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzEwLTItMS0xLTIzMDI4_3a10f401-d474-41e4-975f-629c00214558"
      unitRef="usd">73250000</dco:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzExLTItMS0xLTIzMDI4_00892d26-fee4-4b7e-a3ba-2b390c694d52"
      unitRef="usd">907000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzEzLTItMS0xLTIzMDI4_c74c2397-4b5b-44e9-981a-7f2fb4b98dd1"
      unitRef="usd">1408000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzE0LTItMS0xLTIzMDI4_a2871ca2-c57f-4152-bbf8-979bc79dfe8e"
      unitRef="usd">2315000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTo1MWU0ZDQyOGZkNjE0OGYyYTE0ODgxY2EyZjM3OTQ3ZC90YWJsZXJhbmdlOjUxZTRkNDI4ZmQ2MTQ4ZjJhMTQ4ODFjYTJmMzc5NDdkXzE1LTItMS0xLTIzMDI4_78c8e5d2-21cf-43f2-9192-73b1efa25a92"
      unitRef="usd">70935000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzMyODY_60c86804-e9ad-4ffa-87c2-4542d17fd012">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:79.678%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.422%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.717%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.661%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.717%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Useful Life&lt;br/&gt;(In years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Fair Value&lt;br/&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ib99b9843811840fdaf9717999e231ba7_D20211201-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTpkNzQzY2QwODA0YmY0MDk4YTk4YzRlM2VlODQ5MWZjNi90YWJsZXJhbmdlOmQ3NDNjZDA4MDRiZjQwOThhOThjNGUzZWU4NDkxZmM2XzItMi0xLTEtMjMwMjg_352aec8c-85b2-4e69-8324-18a3daa0bc77">P19Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i1bac18badc3749889e464aac1731ab5d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTpkNzQzY2QwODA0YmY0MDk4YTk4YzRlM2VlODQ5MWZjNi90YWJsZXJhbmdlOmQ3NDNjZDA4MDRiZjQwOThhOThjNGUzZWU4NDkxZmM2XzItNC0xLTEtMjMwMjg_5ba00301-3dc3-437d-bc9f-6c6f58d357b0"
      unitRef="usd">24800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i5bf1175dd32941cbac38b0f82f126eab_D20211201-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTpkNzQzY2QwODA0YmY0MDk4YTk4YzRlM2VlODQ5MWZjNi90YWJsZXJhbmdlOmQ3NDNjZDA4MDRiZjQwOThhOThjNGUzZWU4NDkxZmM2XzMtMi0xLTEtMjMwMjg_103e9ba7-1668-4e7e-b02c-3bd91e7b699e">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i0d8fd058cf2547da94723de81e571c35_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTpkNzQzY2QwODA0YmY0MDk4YTk4YzRlM2VlODQ5MWZjNi90YWJsZXJhbmdlOmQ3NDNjZDA4MDRiZjQwOThhOThjNGUzZWU4NDkxZmM2XzMtNC0xLTEtMjMwMjg_439f0c4d-1b25-4433-ae20-4a0a1363c298"
      unitRef="usd">600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets
      contextRef="i86c260e5db6c4d34aba4c4e1c5fc2221_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTpkNzQzY2QwODA0YmY0MDk4YTk4YzRlM2VlODQ5MWZjNi90YWJsZXJhbmdlOmQ3NDNjZDA4MDRiZjQwOThhOThjNGUzZWU4NDkxZmM2XzQtNC0xLTEtMjMwMjg_0e207354-94b7-4992-a5ff-95a717ec0f14"
      unitRef="usd">4700000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90YWJsZTpkNzQzY2QwODA0YmY0MDk4YTk4YzRlM2VlODQ5MWZjNi90YWJsZXJhbmdlOmQ3NDNjZDA4MDRiZjQwOThhOThjNGUzZWU4NDkxZmM2XzUtNC0xLTEtMjMwMjg_8ca268ac-8539-4efd-a22b-de15d3514065"
      unitRef="usd">30100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzEyNTQ_4b8380ad-7b41-4056-af0b-123efda28a2a"
      unitRef="usd">30100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzIxMzg_4681aca2-14b6-4584-9509-f05ae2553df6"
      unitRef="usd">32600000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="ie0985d8d4a88472e86567ed2b91ed304_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMjcvZnJhZzo5ZDQyMDI4ZmI2NWY0OTc5YTBjMGI3ZjEyMDhhZTg5ZS90ZXh0cmVnaW9uOjlkNDIwMjhmYjY1ZjQ5NzlhMGMwYjdmMTIwOGFlODllXzI4MDg_9bb1a407-f015-418a-8703-ff6e09365f6f"
      unitRef="usd">900000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF83Njk2NTgxNDA0ODAw_74260e27-dc24-47d3-8d88-47c61187847f">Restructuring Activities&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Summary of 2022 Restructuring Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In April 2022, management approved and commenced a restructuring plan that will better position us for stronger performance. The restructuring plan will mainly reduce headcount and consolidate facilities. As a result of this restructuring plan, we analyzed the need to write-down inventory and impair long-lived assets, including operating lease right-of-use assets. During the year ended December&#160;31, 2022, we recorded total charges of $6.7 million. As of December&#160;31, 2022, we estimate the remaining amount of charges related to this initiative will be $12.0&#160;million to $16.0&#160;million in total pre-tax restructuring charges during 2023. Of these charges, we estimate $9.0&#160;million to $12.0&#160;million to be cash payments for employee separation and other facility consolidation related expenses, and $3.0&#160;million to $4.0&#160;million to be non-cash charges for impairment of long-lived assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the Electronics Systems segment, we recorded $3.5&#160;million and $0.3&#160;million during the year ended December&#160;31, 2022,  for severance and benefits that were classified as restructuring charges and accelerated depreciation of property and equipment that was classified as restructuring charges, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the Structural Systems segment, we recorded $0.5&#160;million, $1.6&#160;million, $0.5&#160;million, and $0.3&#160;million during the year ended December&#160;31, 2022 for inventory write down that was classified as cost of sales, severance and benefits that were classified as restructuring charges, accelerated depreciation of property and equipment that was classified as restructuring charges, and impairment of property and equipment that was classified as restructuring charges, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our restructuring activities for 2022 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.703%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.386%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.726%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Cash Payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Non-Cash Payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Change in Estimates&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Balance&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Severance and benefits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,277)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment accelerated depreciation due to restructuring&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(778)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment impairment due to restructuring&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(304)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventory write down&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;528&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(528)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,277)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,610)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The restructuring activities accrual for severance and benefits of $2.8&#160;million as of December&#160;31, 2022 was included as part of accrued and other liabilities.&lt;/span&gt;&lt;/div&gt;</us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock>
    <us-gaap:RestructuringCharges
      contextRef="iebf85a09d01744978b1ee81f3a91cb7d_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM3Mjkw_f1d6091d-0f36-4b55-93db-42a07f611670"
      unitRef="usd">6700000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringAndRelatedCostExpectedCost1
      contextRef="ief0f0f38d7804b89afca6486b75ed7c2_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM3OTk0_b52b1a8e-3985-476c-b51d-cd8ca974b0e6"
      unitRef="usd">12000000</us-gaap:RestructuringAndRelatedCostExpectedCost1>
    <us-gaap:RestructuringAndRelatedCostExpectedCost1
      contextRef="i7d9d5d521a304c5b9fdaef8329177b32_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM4MDIy_ececdcee-c430-4934-910e-2fa9a9f0fad1"
      unitRef="usd">16000000</us-gaap:RestructuringAndRelatedCostExpectedCost1>
    <us-gaap:RestructuringAndRelatedCostExpectedCost1
      contextRef="iab347403df924356a798937efcaa68c6_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM4MDUw_8f732408-7620-43ce-be27-58e58ba3fa2c"
      unitRef="usd">9000000</us-gaap:RestructuringAndRelatedCostExpectedCost1>
    <us-gaap:RestructuringAndRelatedCostExpectedCost1
      contextRef="if5db027811894f67a7ff0f45976e5592_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM4MDc3_6bc17233-78de-4b04-81b2-8def36bdbc2e"
      unitRef="usd">12000000</us-gaap:RestructuringAndRelatedCostExpectedCost1>
    <us-gaap:RestructuringAndRelatedCostExpectedCost1
      contextRef="i2832ee908295412ba591a433af42890e_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM4MTA0_37707128-73b2-4006-baa3-ce799a82b775"
      unitRef="usd">3000000</us-gaap:RestructuringAndRelatedCostExpectedCost1>
    <us-gaap:RestructuringAndRelatedCostExpectedCost1
      contextRef="ie0a5a55fbf3d40348b7b567295370cbe_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM4MTMx_f99c9bfa-a16f-42b1-a335-662d49caafb6"
      unitRef="usd">4000000</us-gaap:RestructuringAndRelatedCostExpectedCost1>
    <us-gaap:RestructuringCharges
      contextRef="i95bbf32d6aaf41ae8cb27b543ad9226e_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM3MzQ1_05413960-3239-470a-b1bc-d884f72a9543"
      unitRef="usd">3500000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i6cce5fd71b944fa3acf2d2fe96a7d199_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM3MzUy_15fa1bba-29b0-4357-887f-6aa9a1a6a874"
      unitRef="usd">300000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i6f675b95825342e7bc83c9a017864738_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM3NjIw_b0afb5e0-67ec-4f18-938b-c51bb510376f"
      unitRef="usd">500000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="ia5144181c3f84746b3a7f61bf799da3f_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM3OTM3_72ed1df6-5fb3-46d6-b351-669978daaa93"
      unitRef="usd">1600000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i349e77e6795d4d9f82082de6b887069c_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM4MjU0_260d9e64-0d9e-493c-a370-d29f6a636763"
      unitRef="usd">500000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="ie0136d97085c4d6c9b23bc6937bf0be0_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM3OTQx_1fa6ceaa-5ae8-4ec7-bd44-66453c83919e"
      unitRef="usd">300000</us-gaap:RestructuringCharges>
    <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF83Njk2NTgxNDA0ODAx_f71127c5-6a49-47c7-ac02-c47063d4ef9c">&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our restructuring activities for 2022 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.703%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.386%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.726%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Cash Payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Non-Cash Payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Change in Estimates&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Balance&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Severance and benefits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,277)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment accelerated depreciation due to restructuring&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(778)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment impairment due to restructuring&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(304)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventory write down&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;528&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(528)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,277)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,610)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
    <us-gaap:RestructuringReserve
      contextRef="ia213f6e00b8247c082404590ca694ba7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM18yLTItMS0xLTQ2NzUz_a29551f2-bf62-482e-b0f4-cbc79a55d63a"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCharges
      contextRef="i754a4ef6739342fea82eb582bde7d576_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM18yLTQtMS0xLTQ2NzUz_093f9c4e-08e9-4ad7-b00d-8cab689033dc"
      unitRef="usd">5076000</us-gaap:RestructuringCharges>
    <us-gaap:PaymentsForRestructuring
      contextRef="i754a4ef6739342fea82eb582bde7d576_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM18yLTYtMS0xLTQ2NzUz_7c3dbc13-92b6-422f-82e7-5b9a2785b3e4"
      unitRef="usd">2277000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="i754a4ef6739342fea82eb582bde7d576_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM18yLTgtMS0xLTQ2NzUz_8e8e4376-af1c-45b4-96bb-9bd3f0bf6684"
      unitRef="usd">0</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserveAccrualAdjustment1
      contextRef="i754a4ef6739342fea82eb582bde7d576_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM18yLTEwLTEtMS00Njc1Mw_9c805b14-0b09-4858-b0c7-25e2fc56ef62"
      unitRef="usd">0</us-gaap:RestructuringReserveAccrualAdjustment1>
    <us-gaap:RestructuringReserve
      contextRef="i70aaaf880e554815a8f5f024a2acbbc1_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM18yLTEyLTEtMS00Njk5Nw_23a3acf6-7907-405f-8287-53c2af33f764"
      unitRef="usd">2799000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i2b92210c2dd9472091fda71f024b0a13_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM180LTItMS0xLTQ2NzUz_8d450726-9ecb-4b07-92c7-150e804d18c2"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCharges
      contextRef="i8fe164314a84439891dba3e4fc5da03e_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM180LTQtMS0xLTQ2NzUz_47227865-ee60-42d3-b143-f93a281ebf35"
      unitRef="usd">778000</us-gaap:RestructuringCharges>
    <us-gaap:PaymentsForRestructuring
      contextRef="i8fe164314a84439891dba3e4fc5da03e_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM180LTYtMS0xLTQ2NzUz_634c83f4-7d93-4ece-b24b-626a90cc96c9"
      unitRef="usd">0</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="i8fe164314a84439891dba3e4fc5da03e_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM180LTgtMS0xLTQ2NzUz_1f4a8dad-e143-41b2-b85e-55225e82595d"
      unitRef="usd">778000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserveAccrualAdjustment1
      contextRef="i8fe164314a84439891dba3e4fc5da03e_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM180LTEwLTEtMS00Njc1Mw_2cc28df6-dc6f-4cf7-955e-1ac6c731c803"
      unitRef="usd">0</us-gaap:RestructuringReserveAccrualAdjustment1>
    <us-gaap:RestructuringReserve
      contextRef="ic6a3291b85fc463881acd8237d81025c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM180LTEyLTEtMS00Njk5Nw_f5b9d82d-0c49-425a-adff-c7aa508d826b"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i857fcac46683493683cc545e0ba8344d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM181LTItMS0xLTQ2NzUz_252f7fd1-9715-4080-b287-f6e2079adfda"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCharges
      contextRef="i3dd4d241354e45d29a0cfcc06c234d9a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM181LTQtMS0xLTQ2NzUz_a3e3576b-a026-476c-8b2a-326e2c7c0080"
      unitRef="usd">304000</us-gaap:RestructuringCharges>
    <us-gaap:PaymentsForRestructuring
      contextRef="i3dd4d241354e45d29a0cfcc06c234d9a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM181LTYtMS0xLTQ2NzUz_6f07d6d8-8420-4c1c-83b0-96bcb5229414"
      unitRef="usd">0</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="i3dd4d241354e45d29a0cfcc06c234d9a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM181LTgtMS0xLTQ2NzUz_7d6b5ec2-ea21-4711-8557-e6a7e7417d46"
      unitRef="usd">304000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserveAccrualAdjustment1
      contextRef="i3dd4d241354e45d29a0cfcc06c234d9a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM181LTEwLTEtMS00Njc1Mw_51d81034-90b2-44d3-87de-2630ec7bbf3c"
      unitRef="usd">0</us-gaap:RestructuringReserveAccrualAdjustment1>
    <us-gaap:RestructuringReserve
      contextRef="ia939db7efe944dd59d51115f626e9a6d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM181LTEyLTEtMS00Njk5Nw_f8cb2734-ab23-4635-8318-12dbe5f0dc33"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i2e8286d88adc41b2b471ec5a8a1070f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM182LTItMS0xLTQ2NzUz_1a7948b9-d537-425f-8501-a1ae7ca560cd"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCharges
      contextRef="ibe59909cfafe4794a1d0dd68a73564cf_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM182LTQtMS0xLTQ2NzUz_6ede5aed-c936-4b66-ab98-7863b774f25a"
      unitRef="usd">528000</us-gaap:RestructuringCharges>
    <us-gaap:PaymentsForRestructuring
      contextRef="ibe59909cfafe4794a1d0dd68a73564cf_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM182LTYtMS0xLTQ2NzUz_4e72398a-2bd8-4d57-bad3-e86b1ada05ae"
      unitRef="usd">0</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="ibe59909cfafe4794a1d0dd68a73564cf_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM182LTgtMS0xLTQ2NzUz_b48257ce-eba8-4daa-8c01-402cfcb8643d"
      unitRef="usd">528000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserveAccrualAdjustment1
      contextRef="ibe59909cfafe4794a1d0dd68a73564cf_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM182LTEwLTEtMS00Njc1Mw_7eb82a07-9a4e-4ef5-81cb-2bef24721e2d"
      unitRef="usd">0</us-gaap:RestructuringReserveAccrualAdjustment1>
    <us-gaap:RestructuringReserve
      contextRef="i51a0414b5fec4ca987f8e45edccec4f8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM182LTEyLTEtMS00Njk5Nw_37b89bda-8a8e-435b-963d-685d6b3f4e7f"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="ief25297cb96541d5a18cd5f38cca24de_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM183LTItMS0xLTQ2OTk3_f750cd20-1383-44f8-b216-ce04ab92871d"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCharges
      contextRef="iebf85a09d01744978b1ee81f3a91cb7d_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM183LTQtMS0xLTQ2OTk3_458c7429-4fc5-4353-b0f1-53824acf67c4"
      unitRef="usd">6686000</us-gaap:RestructuringCharges>
    <us-gaap:PaymentsForRestructuring
      contextRef="iebf85a09d01744978b1ee81f3a91cb7d_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM183LTYtMS0xLTQ2OTk3_bebe3be5-52cb-488d-92c0-eee2a8b7f9e2"
      unitRef="usd">2277000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="iebf85a09d01744978b1ee81f3a91cb7d_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM183LTgtMS0xLTQ2OTk3_4464bdb4-afde-466f-87c8-44a1df04be1b"
      unitRef="usd">1610000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserveAccrualAdjustment1
      contextRef="iebf85a09d01744978b1ee81f3a91cb7d_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM183LTEwLTEtMS00Njk5Nw_8bfb2bae-2256-426c-9652-ba409713b6d0"
      unitRef="usd">0</us-gaap:RestructuringReserveAccrualAdjustment1>
    <us-gaap:RestructuringReserve
      contextRef="i285e2bf52ba748298f54d527a8ea14b0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGFibGU6NmVkYzcxMTEzMzgxNGUyMmEyNDU0NjAxMDViY2ZhZjMvdGFibGVyYW5nZTo2ZWRjNzExMTMzODE0ZTIyYTI0NTQ2MDEwNWJjZmFmM183LTEyLTEtMS00Njk5Nw_508afe73-c085-4246-9fcd-8036a0241dcb"
      unitRef="usd">2799000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i70aaaf880e554815a8f5f024a2acbbc1_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMDk5NTExNjI5NTI0L2ZyYWc6MjdhYTFjOGE2M2JmNGM2ZmFkYjFjZWQwYjQ5ZjgxOTQvdGV4dHJlZ2lvbjoyN2FhMWM4YTYzYmY0YzZmYWRiMWNlZDBiNDlmODE5NF8xMDk5NTExNjM3OTcx_f28d5d94-2ff5-4272-813a-77f2b3310adb"
      unitRef="usd">2800000</us-gaap:RestructuringReserve>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzMvZnJhZzowYjIxYTdjYzI2NmQ0OThkYWIzNmY5ODgyNTYzYjJhNy90ZXh0cmVnaW9uOjBiMjFhN2NjMjY2ZDQ5OGRhYjM2Zjk4ODI1NjNiMmE3Xzg0_f8cc9b2e-ffe9-47ac-9fc0-c95c4480e52e">Inventories&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.324%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials and supplies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,495&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,609&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,995&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150,938&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzMvZnJhZzowYjIxYTdjYzI2NmQ0OThkYWIzNmY5ODgyNTYzYjJhNy90ZXh0cmVnaW9uOjBiMjFhN2NjMjY2ZDQ5OGRhYjM2Zjk4ODI1NjNiMmE3Xzgx_325ef207-39dc-4ac3-896a-0283db524cbd">&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.324%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials and supplies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,495&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,609&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,995&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150,938&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzMvZnJhZzowYjIxYTdjYzI2NmQ0OThkYWIzNmY5ODgyNTYzYjJhNy90YWJsZTo3ZGI1NDM4OTkyNzg0MThkYjlhMWExYzgxZWYxOTIzNy90YWJsZXJhbmdlOjdkYjU0Mzg5OTI3ODQxOGRiOWExYTFjODFlZjE5MjM3XzItMi0xLTEtMjMwMjg_9bbce287-9a91-4511-94ca-56f183548e38"
      unitRef="usd">143495000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
    <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzMvZnJhZzowYjIxYTdjYzI2NmQ0OThkYWIzNmY5ODgyNTYzYjJhNy90YWJsZTo3ZGI1NDM4OTkyNzg0MThkYjlhMWExYzgxZWYxOTIzNy90YWJsZXJhbmdlOjdkYjU0Mzg5OTI3ODQxOGRiOWExYTFjODFlZjE5MjM3XzItNC0xLTEtMjMwMjg_1a8de274-186a-4ae7-8a3c-1cb3aa4897cb"
      unitRef="usd">125334000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzMvZnJhZzowYjIxYTdjYzI2NmQ0OThkYWIzNmY5ODgyNTYzYjJhNy90YWJsZTo3ZGI1NDM4OTkyNzg0MThkYjlhMWExYzgxZWYxOTIzNy90YWJsZXJhbmdlOjdkYjU0Mzg5OTI3ODQxOGRiOWExYTFjODFlZjE5MjM3XzMtMi0xLTEtMjMwMjg_5cf026ad-f4f8-4ac5-b96c-6d604cb588a5"
      unitRef="usd">23799000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzMvZnJhZzowYjIxYTdjYzI2NmQ0OThkYWIzNmY5ODgyNTYzYjJhNy90YWJsZTo3ZGI1NDM4OTkyNzg0MThkYjlhMWExYzgxZWYxOTIzNy90YWJsZXJhbmdlOjdkYjU0Mzg5OTI3ODQxOGRiOWExYTFjODFlZjE5MjM3XzMtNC0xLTEtMjMwMjg_23b4ebb1-dbe2-4a6d-b5a2-1c260d7d801b"
      unitRef="usd">20609000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzMvZnJhZzowYjIxYTdjYzI2NmQ0OThkYWIzNmY5ODgyNTYzYjJhNy90YWJsZTo3ZGI1NDM4OTkyNzg0MThkYjlhMWExYzgxZWYxOTIzNy90YWJsZXJhbmdlOjdkYjU0Mzg5OTI3ODQxOGRiOWExYTFjODFlZjE5MjM3XzQtMi0xLTEtMjMwMjg_73e7835f-f638-4efa-9348-a0b5b6f92083"
      unitRef="usd">3917000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzMvZnJhZzowYjIxYTdjYzI2NmQ0OThkYWIzNmY5ODgyNTYzYjJhNy90YWJsZTo3ZGI1NDM4OTkyNzg0MThkYjlhMWExYzgxZWYxOTIzNy90YWJsZXJhbmdlOjdkYjU0Mzg5OTI3ODQxOGRiOWExYTFjODFlZjE5MjM3XzQtNC0xLTEtMjMwMjg_6aadd9bb-54a5-40aa-80a3-039f5fb4903f"
      unitRef="usd">4995000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzMvZnJhZzowYjIxYTdjYzI2NmQ0OThkYWIzNmY5ODgyNTYzYjJhNy90YWJsZTo3ZGI1NDM4OTkyNzg0MThkYjlhMWExYzgxZWYxOTIzNy90YWJsZXJhbmdlOjdkYjU0Mzg5OTI3ODQxOGRiOWExYTFjODFlZjE5MjM3XzUtMi0xLTEtMjMwMjg_a3814fed-d4e7-4254-a48c-df4e75e6b75f"
      unitRef="usd">171211000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzMvZnJhZzowYjIxYTdjYzI2NmQ0OThkYWIzNmY5ODgyNTYzYjJhNy90YWJsZTo3ZGI1NDM4OTkyNzg0MThkYjlhMWExYzgxZWYxOTIzNy90YWJsZXJhbmdlOjdkYjU0Mzg5OTI3ODQxOGRiOWExYTFjODFlZjE5MjM3XzUtNC0xLTEtMjMwMjg_c10cee66-eb04-4c04-a47d-a15cc89535ec"
      unitRef="usd">150938000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90ZXh0cmVnaW9uOjZhMTMzMjhjMTMxNzRhYjliYTkzMWZiNjFjOTVlMjNhXzIwMg_6675fc9e-aebe-47a5-991a-12f64eb78969">Property and Equipment, Net&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.685%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.002%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.709%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Range of&lt;br/&gt;Estimated&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Useful&#160;Lives&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Land&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings and improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,699&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;-&#160;40&#160;Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Machinery and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,606&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;- 20&#160;Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;-&#160;10&#160;Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Construction in progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;277,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;270,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation expense was $14.5 million, $14.1 million, and $13.8 million, for the years ended December&#160;31, 2022, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90ZXh0cmVnaW9uOjZhMTMzMjhjMTMxNzRhYjliYTkzMWZiNjFjOTVlMjNhXzE5Nw_bafe0fd0-4abc-44a9-88ac-3a08b94cff8f">&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.685%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.002%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.709%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Range of&lt;br/&gt;Estimated&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Useful&#160;Lives&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Land&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings and improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,699&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;-&#160;40&#160;Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Machinery and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,606&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;- 20&#160;Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;-&#160;10&#160;Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Construction in progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;277,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;270,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ia51964cf44ac45ebb2b4e8a9c7f0828b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzItMi0xLTEtMjMwMjg_03887b3e-7d88-4dce-8385-cac271592f61"
      unitRef="usd">10494000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i1e1245e2e39c476e99850b40b407f11a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzItNC0xLTEtMjMwMjg_a43ac2c6-7069-4a28-8c1d-a37ef664296c"
      unitRef="usd">10494000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ic99d9b0611474086a03a7142df972cfd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzMtMi0xLTEtMjMwMjg_a08965d4-cd1e-4e17-b036-d242cd0661f9"
      unitRef="usd">51110000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i14d33b274d1d446bb8280657bcbe5fb0_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzMtNC0xLTEtMjMwMjg_7b9b369d-cf08-440f-9238-cc97732c0d5a"
      unitRef="usd">49699000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i47316452f52e41058ebb1d73ad0e794f_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzMtNi0xLTEtMjMwMjgvdGV4dHJlZ2lvbjpkZDY2MTlhNzEyNDg0NGFiYTk1MzMxYTUxNmI0MjE3Y180_d8af3042-f9f0-4a59-99a9-bbdfae07d7fb">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ibdee92c7491148e398bf8dae6ba77e18_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzMtNi0xLTEtMjMwMjgvdGV4dHJlZ2lvbjpkZDY2MTlhNzEyNDg0NGFiYTk1MzMxYTUxNmI0MjE3Y185_de22a3fe-8540-46df-a464-05590c73858c">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i358ff31fe1fe4c16bd41ed78d376bc3f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzQtMi0xLTEtMjMwMjg_03a79579-7882-4211-85c9-fab5224e4552"
      unitRef="usd">179606000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="id98a049a56814e348d1ec83b4109255d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzQtNC0xLTEtMjMwMjg_90a3f51f-9871-4dfb-b31d-2647b74b7832"
      unitRef="usd">180761000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i70603193c5534d3f8682d974721384d1_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzQtNi0xLTEtMjMwMjgvdGV4dHJlZ2lvbjpkMTRhODMyMzRkZDM0MzQzYTdmZjc2OTZlN2NmZmQ1Ml80_10c4e7d9-b43a-4fc2-afaf-775cde396915">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="iff0e34518c5c4ad1b1f161a96aa24b58_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzQtNi0xLTEtMjMwMjgvdGV4dHJlZ2lvbjpkMTRhODMyMzRkZDM0MzQzYTdmZjc2OTZlN2NmZmQ1Ml85_d99ffbf1-d4ce-4c2b-89d6-c8f19e0d405a">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i45d5a7f890ae4a9195e5602f714d78fb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzUtMi0xLTEtMjMwMjg_ab6e733b-4882-449d-b485-cf67edb979ad"
      unitRef="usd">17977000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i66e7d18ff6e34714a809ae658b5e21df_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzUtNC0xLTEtMjMwMjg_9d3e93d0-7377-458a-bb86-0c9459a890eb"
      unitRef="usd">19017000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i92ad74eabe344742be4b773d3c4e9d12_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzUtNi0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo3OGRhMmM4MjZlYzc0MTgyYjQxOWE1MzFjOTJlMTk4Ml80_0535ff81-be52-4f26-9e3e-21bc1ca98616">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i95524ca6c0514e6483a7ac1e9affca91_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzUtNi0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo3OGRhMmM4MjZlYzc0MTgyYjQxOWE1MzFjOTJlMTk4Ml85_2bd56241-2829-4e47-953c-65f8688ea582">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i376d608d84af45f0a32c46575ca29106_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzYtMi0xLTEtMjMwMjg_8c5efc92-29b5-4833-8968-a1f6e077eae4"
      unitRef="usd">18545000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i77d95f43c3414bfcafaf440b83882e4d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzYtNC0xLTEtMjMwMjg_53441734-d245-4830-836c-0070da60f52d"
      unitRef="usd">10580000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzctMi0xLTEtMjMwMjg_3dc6dc86-cef5-483e-a479-a597ffb23093"
      unitRef="usd">277732000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzctNC0xLTEtMjMwMjg_4f47cb2b-7b9b-4e85-9362-23a03ee9980c"
      unitRef="usd">270551000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzgtMi0xLTEtMjMwMjg_2377c991-c210-47a8-9c87-60b9340ed079"
      unitRef="usd">171507000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzgtNC0xLTEtMjMwMjg_c6266f75-352a-4862-8ae4-f90b37b8bb5c"
      unitRef="usd">168132000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzktMi0xLTEtMjMwMjg_b1ee310b-e4d0-4dad-908a-5cf12d8ab39d"
      unitRef="usd">106225000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90YWJsZTo3MzRmMzRkOGIyNjM0ZTMzOWZjYzIzZTY4YTQyODM4ZS90YWJsZXJhbmdlOjczNGYzNGQ4YjI2MzRlMzM5ZmNjMjNlNjhhNDI4MzhlXzktNC0xLTEtMjMwMjg_64132253-97e7-4639-b773-9edf73570ec5"
      unitRef="usd">102419000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90ZXh0cmVnaW9uOjZhMTMzMjhjMTMxNzRhYjliYTkzMWZiNjFjOTVlMjNhXzEyNg_cf35e7ff-0cc5-47c5-92ed-3475aa15accf"
      unitRef="usd">14500000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90ZXh0cmVnaW9uOjZhMTMzMjhjMTMxNzRhYjliYTkzMWZiNjFjOTVlMjNhXzEzMA_4c2042eb-b735-49fd-9632-f37b398709c0"
      unitRef="usd">14100000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzYvZnJhZzo2YTEzMzI4YzEzMTc0YWI5YmE5MzFmYjYxYzk1ZTIzYS90ZXh0cmVnaW9uOjZhMTMzMjhjMTMxNzRhYjliYTkzMWZiNjFjOTVlMjNhXzEzOA_e854f098-26e7-435d-bc68-98bac5144650"
      unitRef="usd">13800000</us-gaap:Depreciation>
    <us-gaap:LesseeFinanceLeasesTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzMyNjU_50502ab9-1b7a-42f1-bfa3-832a27f41df0">Leases&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Sale-Leaseback Transaction&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2021, we entered into a sale-leaseback transaction for the building and related land for our Gardena performance center located in Carson, California (&#x201c;Sale-Leaseback Agreement&#x201d;). The building and related land was sold for $143.1&#160;million and we had no continuing involvement. The carrying value of the building and related land was $9.4&#160;million and we recognized a gain of $132.5&#160;million. As part of the Sale-Leaseback Agreement, we entered into an initial five year lease for the usage of the just sold building and related land, with three options to renew in five year increments. The lease was classified as an operating lease and the future minimum base monthly lease payments during the initial five year period in aggregate total $19.6&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;All Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We elected to utilize the following practical expedients that are permitted under ASC 842:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;As an accounting policy election by class of underlying asset, elected not to separate nonlease components from lease components and instead to account for each separate lease component and the nonlease components associated with that lease component as a single lease component; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;As an accounting policy election not to apply the recognition requirements in ASC 842 to short term leases (a lease at commencement date has a lease term of 12 months or less and does not contain a purchase option that the lessee is reasonably certain to exercise).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have operating and finance leases for manufacturing facilities, corporate offices, and various equipment. Our leases have remaining lease terms of 1 to 10 years, some of which include options to extend the leases for up to 15 years, and some of which include options to terminate the leases within 1 year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases expense:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;396&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Short term and variable lease expenses for the year ended December&#160;31, 2022 were not material.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;346&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets obtained in exchange for lease obligations:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease terms were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;When a lease is identified, we recognize a right-of-use asset and a corresponding lease liability based on the present value of the lease payments over the lease term discounted using our incremental borrowing rate, unless an implicit rate is readily determinable. As the discount rate in our leases is usually not readily available, we use our own incremental borrowing rate as the discount rate. Our incremental borrowing rate is based on the interest rate on our term loan, which is a secured rate. After we completed a financing of all our existing debt on July 14, 2022, the interest rate on our term loan was based on Term Secured Overnight Financing Rate (&#x201c;Term SOFR&#x201d;) plus an applicable margin. Prior to the refinancing, the interest rate on our term loans were based on London Interbank Offered Rate (&#x201c;LIBOR&#x201d;) plus an applicable margin.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average discount rates were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.1%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.6%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.6%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturity of operating and finance lease liabilities are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.103%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzEtNC0xLTEtMjMwMjg_614d4167-af81-45ea-8188-9f9e28c299af"&gt;Finance Leases&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,956&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;321&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,985&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,503&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease payments related to options to extend lease terms that are reasonably certain of being exercised are $3.3 million. As of December&#160;31, 2022, there are no legally binding minimum lease payments for leases signed but not yet commenced.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Finance lease payments related to options to extend lease terms that are reasonably certain of being exercised are not significant. As of December&#160;31, 2022, there are no legally binding minimum lease payments for leases signed but not yet commenced.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzMyNzA_6a079e60-dad6-41fb-b165-4dbbc2dc1b79">Leases&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Sale-Leaseback Transaction&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2021, we entered into a sale-leaseback transaction for the building and related land for our Gardena performance center located in Carson, California (&#x201c;Sale-Leaseback Agreement&#x201d;). The building and related land was sold for $143.1&#160;million and we had no continuing involvement. The carrying value of the building and related land was $9.4&#160;million and we recognized a gain of $132.5&#160;million. As part of the Sale-Leaseback Agreement, we entered into an initial five year lease for the usage of the just sold building and related land, with three options to renew in five year increments. The lease was classified as an operating lease and the future minimum base monthly lease payments during the initial five year period in aggregate total $19.6&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;All Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We elected to utilize the following practical expedients that are permitted under ASC 842:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;As an accounting policy election by class of underlying asset, elected not to separate nonlease components from lease components and instead to account for each separate lease component and the nonlease components associated with that lease component as a single lease component; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6.6pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;As an accounting policy election not to apply the recognition requirements in ASC 842 to short term leases (a lease at commencement date has a lease term of 12 months or less and does not contain a purchase option that the lessee is reasonably certain to exercise).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have operating and finance leases for manufacturing facilities, corporate offices, and various equipment. Our leases have remaining lease terms of 1 to 10 years, some of which include options to extend the leases for up to 15 years, and some of which include options to terminate the leases within 1 year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases expense:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;396&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Short term and variable lease expenses for the year ended December&#160;31, 2022 were not material.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;346&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets obtained in exchange for lease obligations:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease terms were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;When a lease is identified, we recognize a right-of-use asset and a corresponding lease liability based on the present value of the lease payments over the lease term discounted using our incremental borrowing rate, unless an implicit rate is readily determinable. As the discount rate in our leases is usually not readily available, we use our own incremental borrowing rate as the discount rate. Our incremental borrowing rate is based on the interest rate on our term loan, which is a secured rate. After we completed a financing of all our existing debt on July 14, 2022, the interest rate on our term loan was based on Term Secured Overnight Financing Rate (&#x201c;Term SOFR&#x201d;) plus an applicable margin. Prior to the refinancing, the interest rate on our term loans were based on London Interbank Offered Rate (&#x201c;LIBOR&#x201d;) plus an applicable margin.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average discount rates were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.1%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.6%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.6%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturity of operating and finance lease liabilities are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.103%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzEtNC0xLTEtMjMwMjg_614d4167-af81-45ea-8188-9f9e28c299af"&gt;Finance Leases&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,956&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;321&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,985&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,503&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease payments related to options to extend lease terms that are reasonably certain of being exercised are $3.3 million. As of December&#160;31, 2022, there are no legally binding minimum lease payments for leases signed but not yet commenced.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Finance lease payments related to options to extend lease terms that are reasonably certain of being exercised are not significant. As of December&#160;31, 2022, there are no legally binding minimum lease payments for leases signed but not yet commenced.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:ProceedsFromLeasePaymentSalesTypeAndDirectFinancingLeasesInvestingActivity
      contextRef="ib7513b90a9914d56b9bced16f329a741_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzI4Ng_897686b5-c7f7-4ad3-97f7-e80835fc6310"
      unitRef="usd">143100000</us-gaap:ProceedsFromLeasePaymentSalesTypeAndDirectFinancingLeasesInvestingActivity>
    <us-gaap:SaleLeasebackTransactionNetBookValue
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzM4NA_e88d89e9-244f-43b5-8b32-f9d070b34abf"
      unitRef="usd">9400000</us-gaap:SaleLeasebackTransactionNetBookValue>
    <us-gaap:SaleAndLeasebackTransactionGainLossNet
      contextRef="ib7513b90a9914d56b9bced16f329a741_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzQxNQ_703ad964-a94a-4a28-b516-001dd22201ee"
      unitRef="usd">132500000</us-gaap:SaleAndLeasebackTransactionGainLossNet>
    <dco:SaleLeasebackTransactionLeaseContractTerms
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzMyNzE_aecebab3-c0c3-4bf2-8045-53c90379d5c0">P5Y</dco:SaleLeasebackTransactionLeaseContractTerms>
    <dco:SaleLeasebackTransactionLeaseRenewOption
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzU2NA_fc098c8c-ccc6-4376-a377-30045b77e0e4"
      unitRef="renewaloption">3</dco:SaleLeasebackTransactionLeaseRenewOption>
    <dco:SaleLeasebackTransactionLeaseContractTerms
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzMyNjM_9988e75e-8d7f-4c23-96c8-eadb122f5daa">P5Y</dco:SaleLeasebackTransactionLeaseContractTerms>
    <dco:SaleLeasebackTransactionLeaseContractTerms
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzMyNjc_c3054441-897b-48b6-b4ce-837187eac15a">P5Y</dco:SaleLeasebackTransactionLeaseContractTerms>
    <dco:SaleLeasebackTransactionAggregateMinimumMonthlyLeasePayments
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzc1OA_c7ec73e5-8980-4b44-8385-e4720b9c2a51"
      unitRef="usd">19600000</dco:SaleLeasebackTransactionAggregateMinimumMonthlyLeasePayments>
    <dco:LeaseRemainingLeaseTerm
      contextRef="i9d97427ddc284e3194e377dfd01c0663_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzEwOTk1MTE2MzIxMjE_404a5318-6204-421b-9372-3ef2ec4ff39b">P1Y</dco:LeaseRemainingLeaseTerm>
    <dco:LeaseRemainingLeaseTerm
      contextRef="icd85f7f6e356460ab669ee7e890096da_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzEwOTk1MTE2MzIxMTY_5307c6e6-b074-4354-9a68-9e7a4808f198">P10Y</dco:LeaseRemainingLeaseTerm>
    <dco:LesseeLeaseRenewalTerm
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzEwOTk1MTE2MzIxMjU_bc5dc7d7-6719-4fe4-a0bc-8abbca900563">P15Y</dco:LesseeLeaseRenewalTerm>
    <dco:LesseeLeaseTerminationPeriod
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzEwOTk1MTE2MzIxMzE_d829564b-854a-4e75-816f-6ba61f1ac520">P1Y</dco:LesseeLeaseTerminationPeriod>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzMyNzI_5c4be6af-da7c-4dc4-83e0-7ddc9a44beeb">The components of lease expense consisted of the following:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases expense:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;396&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;346&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets obtained in exchange for lease obligations:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease terms were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average discount rates were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.1%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.6%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.6%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplMzBiNDQxZmJmNWY0ZTdjYTJiYTI3YjYxNjc1ZWYyYS90YWJsZXJhbmdlOmUzMGI0NDFmYmY1ZjRlN2NhMmJhMjdiNjE2NzVlZjJhXzMtMS0xLTEtMjMwMjg_00e7fbc3-e11b-480b-96a3-db7fdf6c998c"
      unitRef="usd">10521000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplMzBiNDQxZmJmNWY0ZTdjYTJiYTI3YjYxNjc1ZWYyYS90YWJsZXJhbmdlOmUzMGI0NDFmYmY1ZjRlN2NhMmJhMjdiNjE2NzVlZjJhXzMtMy0xLTEtMjMwMjg_c124a52c-d614-44a9-804c-a9e4f5ee8438"
      unitRef="usd">4283000</us-gaap:OperatingLeaseCost>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplMzBiNDQxZmJmNWY0ZTdjYTJiYTI3YjYxNjc1ZWYyYS90YWJsZXJhbmdlOmUzMGI0NDFmYmY1ZjRlN2NhMmJhMjdiNjE2NzVlZjJhXzYtMS0xLTEtMjMwMjg_633eb35a-3acf-4b7b-9b24-cc997d2832ca"
      unitRef="usd">343000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplMzBiNDQxZmJmNWY0ZTdjYTJiYTI3YjYxNjc1ZWYyYS90YWJsZXJhbmdlOmUzMGI0NDFmYmY1ZjRlN2NhMmJhMjdiNjE2NzVlZjJhXzYtMy0xLTEtMjMwMjg_ee38eb81-e24d-4b6b-9e94-011abcdc8b9e"
      unitRef="usd">356000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplMzBiNDQxZmJmNWY0ZTdjYTJiYTI3YjYxNjc1ZWYyYS90YWJsZXJhbmdlOmUzMGI0NDFmYmY1ZjRlN2NhMmJhMjdiNjE2NzVlZjJhXzctMS0xLTEtMjMwMjg_a4c69715-4daa-47b5-9a81-c80dc82d7c47"
      unitRef="usd">53000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplMzBiNDQxZmJmNWY0ZTdjYTJiYTI3YjYxNjc1ZWYyYS90YWJsZXJhbmdlOmUzMGI0NDFmYmY1ZjRlN2NhMmJhMjdiNjE2NzVlZjJhXzctMy0xLTEtMjMwMjg_368841df-c73c-4dd2-a277-8a5230e32c31"
      unitRef="usd">62000</us-gaap:FinanceLeaseInterestExpense>
    <dco:FinanceLeaseCost
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplMzBiNDQxZmJmNWY0ZTdjYTJiYTI3YjYxNjc1ZWYyYS90YWJsZXJhbmdlOmUzMGI0NDFmYmY1ZjRlN2NhMmJhMjdiNjE2NzVlZjJhXzgtMS0xLTEtMjMwMjg_f938fd58-fa6b-4c42-b5de-a697c168858f"
      unitRef="usd">396000</dco:FinanceLeaseCost>
    <dco:FinanceLeaseCost
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplMzBiNDQxZmJmNWY0ZTdjYTJiYTI3YjYxNjc1ZWYyYS90YWJsZXJhbmdlOmUzMGI0NDFmYmY1ZjRlN2NhMmJhMjdiNjE2NzVlZjJhXzgtMy0xLTEtMjMwMjg_c8091195-6f0b-41c6-84b8-3801c209c433"
      unitRef="usd">418000</dco:FinanceLeaseCost>
    <us-gaap:OperatingLeasePayments
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTo1ZjUzNmY5MjA4MTg0MzI3ODdjZTU3MDRlNWRiNmQ1ZC90YWJsZXJhbmdlOjVmNTM2ZjkyMDgxODQzMjc4N2NlNTcwNGU1ZGI2ZDVkXzQtMS0xLTEtMjMwMjg_29536a9d-34ab-4284-9b48-bdcb1dece17c"
      unitRef="usd">7669000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTo1ZjUzNmY5MjA4MTg0MzI3ODdjZTU3MDRlNWRiNmQ1ZC90YWJsZXJhbmdlOjVmNTM2ZjkyMDgxODQzMjc4N2NlNTcwNGU1ZGI2ZDVkXzQtMy0xLTEtMjMwMjg_1b59b241-b058-4b75-870f-d501c41d9b7b"
      unitRef="usd">5150000</us-gaap:OperatingLeasePayments>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTo1ZjUzNmY5MjA4MTg0MzI3ODdjZTU3MDRlNWRiNmQ1ZC90YWJsZXJhbmdlOjVmNTM2ZjkyMDgxODQzMjc4N2NlNTcwNGU1ZGI2ZDVkXzUtMS0xLTEtMjMwMjg_b29495d6-e2c5-4e57-9653-3cd4c6a6ebd6"
      unitRef="usd">53000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTo1ZjUzNmY5MjA4MTg0MzI3ODdjZTU3MDRlNWRiNmQ1ZC90YWJsZXJhbmdlOjVmNTM2ZjkyMDgxODQzMjc4N2NlNTcwNGU1ZGI2ZDVkXzUtMy0xLTEtMjMwMjg_d6511cf3-3fd2-4d55-864e-d65571b3e07b"
      unitRef="usd">61000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTo1ZjUzNmY5MjA4MTg0MzI3ODdjZTU3MDRlNWRiNmQ1ZC90YWJsZXJhbmdlOjVmNTM2ZjkyMDgxODQzMjc4N2NlNTcwNGU1ZGI2ZDVkXzYtMS0xLTEtMjMwMjg_0d63a8ec-92a3-4c3e-a74e-8522eb129a5f"
      unitRef="usd">346000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTo1ZjUzNmY5MjA4MTg0MzI3ODdjZTU3MDRlNWRiNmQ1ZC90YWJsZXJhbmdlOjVmNTM2ZjkyMDgxODQzMjc4N2NlNTcwNGU1ZGI2ZDVkXzYtMy0xLTEtMjMwMjg_0d4824e0-3844-4e9b-acce-681692175d81"
      unitRef="usd">363000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTo1ZjUzNmY5MjA4MTg0MzI3ODdjZTU3MDRlNWRiNmQ1ZC90YWJsZXJhbmdlOjVmNTM2ZjkyMDgxODQzMjc4N2NlNTcwNGU1ZGI2ZDVkXzktMS0xLTEtMjMwMjg_102c9375-7b57-4131-a744-282cdf634b12"
      unitRef="usd">8332000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTo1ZjUzNmY5MjA4MTg0MzI3ODdjZTU3MDRlNWRiNmQ1ZC90YWJsZXJhbmdlOjVmNTM2ZjkyMDgxODQzMjc4N2NlNTcwNGU1ZGI2ZDVkXzktMy0xLTEtMjMwMjg_8f223632-484d-4976-aa69-4ee3b780aec7"
      unitRef="usd">23317000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTo1ZjUzNmY5MjA4MTg0MzI3ODdjZTU3MDRlNWRiNmQ1ZC90YWJsZXJhbmdlOjVmNTM2ZjkyMDgxODQzMjc4N2NlNTcwNGU1ZGI2ZDVkXzEwLTEtMS0xLTIzMDI4_2a51cc49-e811-4bf9-9eb2-cf26c1a64cc5"
      unitRef="usd">245000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTo1ZjUzNmY5MjA4MTg0MzI3ODdjZTU3MDRlNWRiNmQ1ZC90YWJsZXJhbmdlOjVmNTM2ZjkyMDgxODQzMjc4N2NlNTcwNGU1ZGI2ZDVkXzEwLTMtMS0xLTIzMDI4_cdc8a04d-2877-43fa-ae31-094611863cbd"
      unitRef="usd">401000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTozYmNmYzA5ZGQzYzM0OGJhOTI0MDAzMGFlODIyMjU1NS90YWJsZXJhbmdlOjNiY2ZjMDlkZDNjMzQ4YmE5MjQwMDMwYWU4MjIyNTU1XzItMS0xLTEtMjMwMjg_18fe2f61-d6d5-40ef-afac-8cfd23a8e54a">P5Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTozYmNmYzA5ZGQzYzM0OGJhOTI0MDAzMGFlODIyMjU1NS90YWJsZXJhbmdlOjNiY2ZjMDlkZDNjMzQ4YmE5MjQwMDMwYWU4MjIyNTU1XzItMy0xLTEtMjMwMjg_fa66fde1-57e8-469d-a690-282af49d505c">P5Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTozYmNmYzA5ZGQzYzM0OGJhOTI0MDAzMGFlODIyMjU1NS90YWJsZXJhbmdlOjNiY2ZjMDlkZDNjMzQ4YmE5MjQwMDMwYWU4MjIyNTU1XzMtMS0xLTEtMjMwMjg_64757909-27d5-4172-8e5d-4a15ad204e11">P6Y</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTozYmNmYzA5ZGQzYzM0OGJhOTI0MDAzMGFlODIyMjU1NS90YWJsZXJhbmdlOjNiY2ZjMDlkZDNjMzQ4YmE5MjQwMDMwYWU4MjIyNTU1XzMtMy0xLTEtMjMwMjg_48d779af-cb1f-46c7-8c0f-ab8f7bf78944">P6Y</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplYWFhMzU3MWFkYTY0ZjQ3ODM1ODllMzg0YTc0NWFjZC90YWJsZXJhbmdlOmVhYWEzNTcxYWRhNjRmNDc4MzU4OWUzODRhNzQ1YWNkXzItMS0xLTEtMjMwMjg_dd0fdf57-a515-4822-a2f1-3a1b06cd754d"
      unitRef="number">0.030</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplYWFhMzU3MWFkYTY0ZjQ3ODM1ODllMzg0YTc0NWFjZC90YWJsZXJhbmdlOmVhYWEzNTcxYWRhNjRmNDc4MzU4OWUzODRhNzQ1YWNkXzItMy0xLTEtMjMwMjg_72d02481-50e5-4706-8890-1d887ac3e393"
      unitRef="number">0.031</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplYWFhMzU3MWFkYTY0ZjQ3ODM1ODllMzg0YTc0NWFjZC90YWJsZXJhbmdlOmVhYWEzNTcxYWRhNjRmNDc4MzU4OWUzODRhNzQ1YWNkXzMtMS0xLTEtMjMwMjg_09b5a82f-4624-4561-ae2e-145c11039cea"
      unitRef="number">0.036</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTplYWFhMzU3MWFkYTY0ZjQ3ODM1ODllMzg0YTc0NWFjZC90YWJsZXJhbmdlOmVhYWEzNTcxYWRhNjRmNDc4MzU4OWUzODRhNzQ1YWNkXzMtMy0xLTEtMjMwMjg_e09ee3bc-c2fc-4d8a-b50d-d231b9d3d82d"
      unitRef="number">0.036</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzMyNjI_a00bfd2f-9bb2-4276-9534-e1025c061098">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturity of operating and finance lease liabilities are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.103%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzEtNC0xLTEtMjMwMjg_614d4167-af81-45ea-8188-9f9e28c299af"&gt;Finance Leases&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,956&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;321&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,985&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,503&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzMyNjg_a834e941-fe1d-4d3e-bdb8-bc42271495b6">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturity of operating and finance lease liabilities are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.103%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzEtNC0xLTEtMjMwMjg_614d4167-af81-45ea-8188-9f9e28c299af"&gt;Finance Leases&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,956&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;321&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,985&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,503&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzItMi0xLTEtMjMwMjg_f179ea80-20bd-4c59-8cb8-6c8b4d21fae2"
      unitRef="usd">8081000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzItNC0xLTEtMjMwMjg_e3ca7839-058e-4db9-a809-d68e7e9ef784"
      unitRef="usd">388000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzMtMi0xLTEtMjMwMjg_37efdec7-c98a-4f9e-9ad3-b8bac2000902"
      unitRef="usd">7956000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzMtNC0xLTEtMjMwMjg_3d337183-c4e7-4de0-ae5e-d7b8263d7652"
      unitRef="usd">321000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzQtMi0xLTEtMjMwMjg_27f7934c-8286-49c1-a49b-0253d42c9100"
      unitRef="usd">7924000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzQtNC0xLTEtMjMwMjg_fed81140-825e-4585-a75f-6a777c75ef01"
      unitRef="usd">262000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzUtMi0xLTEtMjMwMjg_e52ad965-8651-4890-8354-b77ce196ff4f"
      unitRef="usd">7595000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzUtNC0xLTEtMjMwMjg_7b205474-e2aa-44ab-9674-f081c0d2cf64"
      unitRef="usd">208000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzYtMi0xLTEtMjMwMjg_56637c9c-b539-4442-b7cb-5d18cf5a9ed4"
      unitRef="usd">2323000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzYtNC0xLTEtMjMwMjg_2c7c1bf5-3d26-4750-8821-c03c3a340d50"
      unitRef="usd">175000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzctMi0xLTEtMjMwMjg_e5393b53-6de3-49ad-90e4-34af13522bc1"
      unitRef="usd">5102000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzctNC0xLTEtMjMwMjg_c128be87-2a04-4b27-a8e5-be5e7a9e56fb"
      unitRef="usd">310000</us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzgtMi0xLTEtMjMwMjg_01535d2d-41f3-401f-a08c-0a84e7b86c1c"
      unitRef="usd">38981000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzgtNC0xLTEtMjMwMjg_c39fa396-416d-4764-a324-4dad3683adcf"
      unitRef="usd">1664000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzktMi0xLTEtMjMwMjg_a2025252-15b4-43a5-9a5f-77183558017b"
      unitRef="usd">2985000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzktNC0xLTEtMjMwMjg_2c9c895b-8a1b-4b3f-ad4e-6cf7fb8f1191"
      unitRef="usd">161000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzEwLTItMS0xLTIzMDI4_a98d7716-b101-4b15-9d6c-1a01cbc89c7e"
      unitRef="usd">35996000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90YWJsZTphMDQwYjFlNzRiYTc0ZDljODIyNmZmMmYwMmQ4MDA0NS90YWJsZXJhbmdlOmEwNDBiMWU3NGJhNzRkOWM4MjI2ZmYyZjAyZDgwMDQ1XzEwLTQtMS0xLTIzMDI4_dd4a369b-1b84-4032-8412-250859b6dc5c"
      unitRef="usd">1503000</us-gaap:FinanceLeaseLiability>
    <dco:LesseeOperatingLeaseLiabilityPaymentsDueWithOptionToExtend
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzI3NTg_b0eae209-a29a-4d3f-9b0f-7cc9c1cd51ec"
      unitRef="usd">3300000</dco:LesseeOperatingLeaseLiabilityPaymentsDueWithOptionToExtend>
    <dco:LesseeOperatingLeaseLeaseNotYetCommencedAmount
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzI4NzA_80f96f6c-d023-4717-a001-474852b40421"
      unitRef="usd">0</dco:LesseeOperatingLeaseLeaseNotYetCommencedAmount>
    <dco:LesseeFinanceLeaseLeaseNotYetCommencedAmount
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xMzkvZnJhZzo4ZWZkYmZhMjEyZGI0ZmFjYTQ4NzYyZWYwMTAzMTQ4Zi90ZXh0cmVnaW9uOjhlZmRiZmEyMTJkYjRmYWNhNDg3NjJlZjAxMDMxNDhmXzMxNzk_8e92e731-5c89-41d0-909b-5648f63f7030"
      unitRef="usd">0</dco:LesseeFinanceLeaseLeaseNotYetCommencedAmount>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzQwMTI_80621cb6-84d3-48af-b7e2-10fdb1e67336">Goodwill and Other Intangible Assets&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of goodwill, by operating segment, for the years ended December&#160;31, 2022 and 2021 were as follows:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.805%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Electronic&lt;br/&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Structural&lt;br/&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Consolidated&lt;br/&gt;Ducommun&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;285,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated goodwill impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(81,722)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(81,722)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;203,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchase price allocation refinements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(287)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(287)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;203,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We perform our annual goodwill impairment test as of the first day of the fourth quarter. If certain factors occur, including significant under performance of our business relative to expected operating results, significant adverse economic and industry trends, significant decline in our market capitalization for an extended period of time relative to net book value, a decision to divest individual businesses within a reporting unit, or a decision to group individual businesses differently, we may be required to perform an interim impairment test prior to the fourth quarter. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We may use either a qualitative or quantitative approach when testing a reporting unit&#x2019;s goodwill for impairment. The qualitative approach for potential impairment analysis to determine whether it is more likely than not that the fair value of a reporting unit was less than its carrying amount.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The quantitative approach for potential impairment analysis is performed by comparing the fair value of a reporting unit to its carrying value, including goodwill. Fair value is estimated by management using a combination of the income approach (which is based on a discounted cash flow model) and market approach. Management&#x2019;s cash flow projections include significant judgments and assumptions, including the amount and timing of expected cash flows, long-term growth rates, and discount rates. The cash flows used in the discounted cash flow model are based on our best estimate of future revenues, gross margins, and adjusted after-tax earnings. If any of these assumptions are incorrect, it will impact the estimated fair value of a reporting unit. The market approach also requires management judgment in selecting comparable business acquisitions and the transaction values observed and its related control premiums.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our most recent step one goodwill impairment test for our Electronic Systems reporting unit was as of the first day of the fourth quarter of 2019 where the fair value of our Electronic Systems reporting unit exceeded its carrying value. No material adverse factors/changes have occurred since the fourth quarter of 2019 and thus, for our annual goodwill impairment test of our &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Electronic Systems reporting unit as of the first day of the fourth quarter of 2022, we used a qualitative assessment and determined it was not more likely than not that the fair value of a reporting unit was less than its carrying amount. As our commercial aerospace end-use market business continues to be negatively impacted by the COVID-19 pandemic, we performed a step one goodwill impairment test for our Structural Systems reporting unit as of the first day of the fourth quarter of 2022, where the fair value of our Structural Systems reporting unit exceeded its carrying value. Thus, the respective goodwill amounts were not deemed impaired.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2021, we acquired 100% of the outstanding equity of Magnetic Seal LLC (f/k/a Magnetic Seal Corporation, &#x201c;MagSeal&#x201d;) for an original purchase price of $69.5 million, net of cash acquired. We allocated the final gross purchase price of $70.9&#160;million to the assets acquired and the liabilities assumed at their estimated fair values. The excess of the purchase price over the aggregate fair values was recorded as goodwill within the Structural Systems reporting unit. See Note&#160;2.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Other Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other intangible assets are related to acquisitions, including MagSeal, and recorded at fair value at the time of the acquisition. Other intangible assets with finite lives are generally amortized on the straight-line method over periods ranging from 2 to 19 years. Intangible assets are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:4.170%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.299%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Wtd. Avg Life (Yrs)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finite-lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;246,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,999&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;246,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade names and trademarks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,670&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,237&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract renewal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finite-lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;254,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;122,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;254,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite-lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade names and trademarks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;141,764&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amount of other intangible assets by operating segment as of December&#160;31, 2022 and 2021 was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.135%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.298%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;164,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;164,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,354&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;141,764&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense of other intangible assets was $14.6 million, $13.1 million and $13.2 million for the years ended December&#160;31, 2022, 2021 and 2020, respectively. Future amortization expense by operating segment is expected to be as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.829%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.829%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.978%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Electronic&lt;br/&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Structural&lt;br/&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Consolidated&lt;br/&gt;Ducommun&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,673&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,673&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,223&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;122,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzQwMTk_1cd324ed-1dfa-4e17-8df7-89bdb73b87fe">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of goodwill, by operating segment, for the years ended December&#160;31, 2022 and 2021 were as follows:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.805%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Electronic&lt;br/&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Structural&lt;br/&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Consolidated&lt;br/&gt;Ducommun&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;285,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated goodwill impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(81,722)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(81,722)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;203,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchase price allocation refinements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(287)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(287)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;203,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:GoodwillGross
      contextRef="iab234bdd301c4b42b5ce992a4903258f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzItMi0xLTEtMjMwMjg_7da95afb-a7b1-4d7a-ba93-75548b7892fd"
      unitRef="usd">199157000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillGross
      contextRef="i51c5583deaa9413696584f0d938f2313_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzItNC0xLTEtMjMwMjg_8a68ee35-1be4-4281-a7c9-4286a82794bf"
      unitRef="usd">86259000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillGross
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzItNi0xLTEtMjMwMjg_b506a826-4c9e-4d35-84da-32c6ea6d2fe1"
      unitRef="usd">285416000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="iab234bdd301c4b42b5ce992a4903258f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzMtMi0xLTEtMjMwMjg_ffaf896d-8be4-4e3e-b3a8-574077fff5d0"
      unitRef="usd">81722000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="i51c5583deaa9413696584f0d938f2313_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzMtNC0xLTEtMjMwMjg_1e2627b0-81f5-4eb9-a3a3-23c2e5bdd1c5"
      unitRef="usd">0</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzMtNi0xLTEtMjMwMjg_ce7951ce-d124-4e8f-8028-365c39798835"
      unitRef="usd">81722000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="iab234bdd301c4b42b5ce992a4903258f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzUtMi0xLTEtMjMwMjg_d2fdacf5-2444-44ce-8fc5-16a3e0ee9f83"
      unitRef="usd">117435000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i51c5583deaa9413696584f0d938f2313_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzUtNC0xLTEtMjMwMjg_5c81e172-2adb-44da-bde3-7b563f9b4a50"
      unitRef="usd">86259000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzUtNi0xLTEtMjMwMjg_19388957-a3b8-4828-b130-e33968a976ce"
      unitRef="usd">203694000</us-gaap:Goodwill>
    <us-gaap:GoodwillPurchaseAccountingAdjustments
      contextRef="i142096b2858541bc87aac6f49e899276_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzYtMi0xLTEtMjMwMjg_a04ef77d-255f-4065-b8e1-4ddd6ba68116"
      unitRef="usd">0</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments
      contextRef="ia7b8ad691be742f1a128fc2577691903_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzYtNC0xLTEtMjMwMjg_c94df094-26d7-4b82-9182-e434d2caf5d4"
      unitRef="usd">-287000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzYtNi0xLTEtMjMwMjg_f6de46eb-06f0-4b6e-b8e7-9b19ca3d211d"
      unitRef="usd">-287000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:Goodwill
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzktMi0xLTEtMjMwMjg_97cf45bf-4e5a-4a14-8bb3-863eee1a40ad"
      unitRef="usd">117435000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzktNC0xLTEtMjMwMjg_26ca0474-5753-4f65-9c96-931684a36999"
      unitRef="usd">85972000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTpjYTIwNDBiMzQyNzc0NmY4YTU5OTQ1YzMzMzAyMzM4Zi90YWJsZXJhbmdlOmNhMjA0MGIzNDI3NzQ2ZjhhNTk5NDVjMzMzMDIzMzhmXzktNi0xLTEtMjMwMjg_5445ce78-de47-4478-af5b-cfebec609981"
      unitRef="usd">203407000</us-gaap:Goodwill>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzI5NTk_c12916c7-108f-4ff4-8516-64c207063f72"
      unitRef="number">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="id67a7f76848a4c2ea391417d52ce6037_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzEwOTk1MTE2MzE4MTE_18c52941-eb93-4c15-ba8d-98c04d183963"
      unitRef="usd">69500000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i0339b02162f64d4bbbfb573d53daed4b_D20220403-20220702"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzQzOTgwNDY1MTUyMDM_de79551e-26c3-4666-9132-cc2993e5600d"
      unitRef="usd">70900000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i9d97427ddc284e3194e377dfd01c0663_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzM2Mzk_7300e929-bcba-4d9b-b302-cc47bcbb9ec6">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="icd85f7f6e356460ab669ee7e890096da_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzM2NDU_0bf66dd1-2f0d-4fe6-b69c-92eca879fa67">P19Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzQwMDM_5fa16999-776f-4ef3-bd72-031e597749f0">Intangible assets are as follows:&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:4.170%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.299%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Wtd. Avg Life (Yrs)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finite-lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;246,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,999&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;246,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade names and trademarks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,670&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,237&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract renewal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finite-lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;254,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;122,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;254,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite-lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade names and trademarks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;141,764&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amount of other intangible assets by operating segment as of December&#160;31, 2022 and 2021 was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.135%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.298%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net&lt;br/&gt;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;164,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;164,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,354&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;141,764&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i103ba865c2bc4368ac4eefd7b8addf7d_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzQtMS0xLTEtMjMwMjg_6b74b796-3a51-4b47-8197-c60a4bb56109">P17Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i20d1e41d3e0f45438c28f7d7a114502b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzQtMy0xLTEtMjMwMjg_a10ddbce-eaf1-4af0-8a59-78af031d752e"
      unitRef="usd">246300000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i20d1e41d3e0f45438c28f7d7a114502b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzQtNS0xLTEtMjMwMjg_5f30eae5-b6f7-49f0-b1d4-37b1eba5553c"
      unitRef="usd">127999000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i20d1e41d3e0f45438c28f7d7a114502b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzQtNy0xLTEtMjMwMjg_4d3ceb54-c45f-4d7f-a3c1-cd0a83151001"
      unitRef="usd">118301000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5717d2154c1b4ebba9b1aa6bc1b21d07_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzQtOS0xLTEtMjMwMjg_ad6fffe8-9cc5-47aa-b16f-2d8e7c8d9121"
      unitRef="usd">246300000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5717d2154c1b4ebba9b1aa6bc1b21d07_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzQtMTEtMS0xLTIzMDI4_a9b0cc4e-01f3-41ec-9b3a-13a958cec126"
      unitRef="usd">114169000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i5717d2154c1b4ebba9b1aa6bc1b21d07_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzQtMTMtMS0xLTIzMDI4_bc1ca8c4-47b2-4efb-929e-992a1aaebc8b"
      unitRef="usd">132131000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i7d263d72d42c45a1af7d69a2a1e2ce2e_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzUtMS0xLTEtMjMwMjg_fc12eb7e-19fd-4798-b39a-f3cacb52a07d">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5bfa4f4eeb614ec79893cafa2ab9fd67_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzUtMy0xLTEtMjMwMjg_a5025dde-3dea-4199-b912-9dc74e19d443"
      unitRef="usd">5500000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5bfa4f4eeb614ec79893cafa2ab9fd67_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzUtNS0xLTEtMjMwMjg_a53d6e7a-bf56-4183-bf17-e5d89c136ca2"
      unitRef="usd">1670000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i5bfa4f4eeb614ec79893cafa2ab9fd67_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzUtNy0xLTEtMjMwMjg_de974cb5-cd2e-4452-a09f-844c399be2f0"
      unitRef="usd">3830000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i6bc79a68545543778c26e72cbb0a479b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzUtOS0xLTEtMjMwMjg_11fe4ff7-d939-486c-9f08-8cffcd906ef8"
      unitRef="usd">5500000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i6bc79a68545543778c26e72cbb0a479b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzUtMTEtMS0xLTIzMDI4_2d728751-c35c-4594-ad3b-a8a4567c1910"
      unitRef="usd">1263000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i6bc79a68545543778c26e72cbb0a479b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzUtMTMtMS0xLTIzMDI4_96bcd932-a4b4-4cba-8d63-ff9ce08253c0"
      unitRef="usd">4237000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i90fc00702159418e810d63f006541906_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzYtMS0xLTEtMjMwMjg_841d3557-0481-455a-b2e3-132d6999bffe">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ia72782f65bc14df4a969174d7ed4ad28_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzYtMy0xLTEtMjMwMjg_9aa3f98d-0ff9-4f6d-95b2-8445110e9a05"
      unitRef="usd">1845000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ia72782f65bc14df4a969174d7ed4ad28_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzYtNS0xLTEtMjMwMjg_75193c5e-7f4c-4d81-8bba-e36fb3227860"
      unitRef="usd">1845000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ia72782f65bc14df4a969174d7ed4ad28_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzYtNy0xLTEtMjMwMjg_b1e7ed7b-b102-4033-b384-a00860b3dfc8"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ibf20716bae4e40dfabe1f716ce72822b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzYtOS0xLTEtMjMwMjg_7cfd3328-e838-4f66-8ec4-b42e57fe6346"
      unitRef="usd">1845000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ibf20716bae4e40dfabe1f716ce72822b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzYtMTEtMS0xLTIzMDI4_84ee15f0-75eb-4d0c-b069-664f9791993e"
      unitRef="usd">1845000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ibf20716bae4e40dfabe1f716ce72822b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzYtMTMtMS0xLTIzMDI4_0e8ab440-a49d-4fb1-96ae-2ecdc61f5b27"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i3f5040a6cc4e4e9fb5d65bb4d2b55557_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzctMS0xLTEtMjMwMjg_07f64b20-72b1-4020-bc14-10ecc0e68da6">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i30b73ffa77414c15907c1d75fcf31fad_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzctMy0xLTEtMjMwMjg_dd4f6701-036d-4533-b4c5-20af082614d9"
      unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i30b73ffa77414c15907c1d75fcf31fad_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzctNS0xLTEtMjMwMjg_c87290d4-dc20-4568-b8cb-8e3ce3a9c2cb"
      unitRef="usd">318000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i30b73ffa77414c15907c1d75fcf31fad_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzctNy0xLTEtMjMwMjg_edc87721-0f64-41aa-b9f4-e98baec69fed"
      unitRef="usd">82000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ia97db44fcd4648568206cd3bd626a775_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzctOS0xLTEtMjMwMjg_75479cdb-4a2f-4f83-a4e6-635e46ab237f"
      unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ia97db44fcd4648568206cd3bd626a775_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzctMTEtMS0xLTIzMDI4_05bba750-3ac9-4424-bfcc-5ac4796ce816"
      unitRef="usd">291000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ia97db44fcd4648568206cd3bd626a775_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzctMTMtMS0xLTIzMDI4_29d17763-e480-4974-b273-049a4d1c5ca1"
      unitRef="usd">109000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i323ceb1ef64c4793949ffc209dc28306_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzgtMS0xLTEtMjMwMjg_154f885f-3a0b-4b7c-8bf4-cd0c4e13a1f0">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i36d80aa24a654e0e953f4026941c2623_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzgtMy0xLTEtMjMwMjg_b036670c-f91e-4d7e-9a07-c27260cab064"
      unitRef="usd">600000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i36d80aa24a654e0e953f4026941c2623_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzgtNS0xLTEtMjMwMjg_8b9b82f2-ab91-458b-9668-d5f757a258b2"
      unitRef="usd">312000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i36d80aa24a654e0e953f4026941c2623_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzgtNy0xLTEtMjMwMjg_ef190cd3-42d5-4f00-9095-ac60b094f9fa"
      unitRef="usd">288000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7bab04584c3346b1ba223160f43cbc77_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzgtOS0xLTEtMjMwMjg_94b14949-d7a7-45b1-9473-9362f735bb17"
      unitRef="usd">600000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7bab04584c3346b1ba223160f43cbc77_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzgtMTEtMS0xLTIzMDI4_8b940599-3d00-427c-9049-ff6481f158b2"
      unitRef="usd">13000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7bab04584c3346b1ba223160f43cbc77_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzgtMTMtMS0xLTIzMDI4_f82e240d-7bc3-410e-b49c-6483d435106b"
      unitRef="usd">587000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzktMy0xLTEtMjMwMjg_6cd9fdf7-933b-4fd8-98cf-2fdb60472e84"
      unitRef="usd">254645000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzktNS0xLTEtMjMwMjg_adfd59ac-8c6d-4797-9922-ee5e2ff702b1"
      unitRef="usd">132144000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzktNy0xLTEtMjMwMjg_08c46e22-7447-4cff-94fd-2328e146c13b"
      unitRef="usd">122501000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzktOS0xLTEtMjMwMjg_ca9b9459-411f-4183-91eb-edfc22737b66"
      unitRef="usd">254645000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzktMTEtMS0xLTIzMDI4_c6dfa8d3-45a7-4d38-adbc-df5c6ff8ae54"
      unitRef="usd">117581000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzktMTMtMS0xLTIzMDI4_83dec908-1ffe-481b-834e-7c6cb1026ce2"
      unitRef="usd">137064000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ie8484675034044d9855fd1781221ff34_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzEyLTMtMS0xLTIzMDI4_a88fdb49-df7e-48ac-b6d7-6c08cbd241ba"
      unitRef="usd">4700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ie8484675034044d9855fd1781221ff34_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzEyLTctMS0xLTIzMDI4_28d2ae82-6df1-43d0-a3bb-7272696c6483"
      unitRef="usd">4700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i07a0908e682e4a9bb5f58b6d6456171c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzEyLTktMS0xLTIzMDI4_ac633fd3-547c-4db3-bcec-27938f5283ca"
      unitRef="usd">4700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i07a0908e682e4a9bb5f58b6d6456171c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzEyLTEzLTEtMS0yMzAyOA_55f311a0-8fb1-4d08-a21a-61d84aac1bfe"
      unitRef="usd">4700000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzEzLTMtMS0xLTIzMDI4_0a102e18-cfdf-4819-9878-8abd05c67776"
      unitRef="usd">259345000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzEzLTUtMS0xLTIzMDI4_aa5983d6-c601-4368-8d7f-e4668674cdd2"
      unitRef="usd">132144000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzEzLTctMS0xLTIzMDI4_3acb4876-cea1-45ca-af21-1307456a0759"
      unitRef="usd">127201000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzEzLTktMS0xLTIzMDI4_a252d04d-2ea8-402e-9cdb-72e80af3b39f"
      unitRef="usd">259345000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzEzLTExLTEtMS0yMzAyOA_ea377a9e-0c6c-4262-bc8d-4315a6bb6d9e"
      unitRef="usd">117581000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo0NDIxYWFlYTgzYzI0ZjI4YTA0OGNjOTgzOTNlMWUxMC90YWJsZXJhbmdlOjQ0MjFhYWVhODNjMjRmMjhhMDQ4Y2M5ODM5M2UxZTEwXzEzLTEzLTEtMS0yMzAyOA_098b2602-f84d-4c5f-b81a-b079b0301ac0"
      unitRef="usd">141764000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzQtMi0xLTEtMjMwMjg_615d6e68-e8c3-4c43-92e6-17b47cb68b48"
      unitRef="usd">164545000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzQtNC0xLTEtMjMwMjg_1af70d89-96c4-4ae4-8ba7-78f5c32e8244"
      unitRef="usd">99479000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzQtNi0xLTEtMjMwMjg_b116a509-cb92-4d96-a3c6-c1f52890cffd"
      unitRef="usd">65066000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="iab234bdd301c4b42b5ce992a4903258f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzQtOC0xLTEtMjMwMjg_fd3c6064-b046-4848-8e0d-386b598fce33"
      unitRef="usd">164545000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iab234bdd301c4b42b5ce992a4903258f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzQtMTAtMS0xLTIzMDI4_e5dba6cb-b074-4efb-91c1-353ee1cedbef"
      unitRef="usd">90191000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="iab234bdd301c4b42b5ce992a4903258f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzQtMTItMS0xLTIzMDI4_a15b4c7a-6110-4b8c-b364-e51bbf255d64"
      unitRef="usd">74354000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzUtMi0xLTEtMjMwMjg_a3e33dc8-3627-44b2-888d-54a8aba20c04"
      unitRef="usd">94800000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzUtNC0xLTEtMjMwMjg_6b17b917-bec3-478e-827f-c74b1dcfdff5"
      unitRef="usd">32665000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzUtNi0xLTEtMjMwMjg_7056e44d-1b5f-4143-83c7-9faa71d423a3"
      unitRef="usd">62135000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i51c5583deaa9413696584f0d938f2313_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzUtOC0xLTEtMjMwMjg_12e4e37f-b152-4cdf-a813-c2dc711adc9c"
      unitRef="usd">94800000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i51c5583deaa9413696584f0d938f2313_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzUtMTAtMS0xLTIzMDI4_56cd63a0-3072-4a2b-8d8d-9c46d26d78cb"
      unitRef="usd">27390000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i51c5583deaa9413696584f0d938f2313_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzUtMTItMS0xLTIzMDI4_3069ea66-db75-486f-ba6d-3b62f60b38fe"
      unitRef="usd">67410000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzYtMi0xLTEtMjMwMjg_1a7cd7df-0975-4b17-a624-aee0cd577d08"
      unitRef="usd">259345000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzYtNC0xLTEtMjMwMjg_656fb157-e066-436a-92bf-7963d0e2f76f"
      unitRef="usd">132144000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzYtNi0xLTEtMjMwMjg_df6cd0d1-7099-4d6e-bb60-a9632e13d969"
      unitRef="usd">127201000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzYtOC0xLTEtMjMwMjg_e9b99acf-1ede-497d-96a4-bab0e74f65a1"
      unitRef="usd">259345000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzYtMTAtMS0xLTIzMDI4_f3a9e518-93de-42e3-8944-ac69877e2089"
      unitRef="usd">117581000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo1MmQyOGFmMzFkY2U0ZWZjOWEzYmE3ODIwNjQwZDkzYS90YWJsZXJhbmdlOjUyZDI4YWYzMWRjZTRlZmM5YTNiYTc4MjA2NDBkOTNhXzYtMTItMS0xLTIzMDI4_9044bfd0-8bb3-4706-900c-7d7af09300ab"
      unitRef="usd">141764000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzM4NDk_5dbf72c3-8a59-465f-b60e-61052b2e2d5e"
      unitRef="usd">14600000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzM4NTM_b785d57b-1b2a-4125-bb33-2625af08a125"
      unitRef="usd">13100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzM4NjA_41261410-cdf9-486b-b1fc-9a36927e5057"
      unitRef="usd">13200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90ZXh0cmVnaW9uOmM2NTYwZDUyZTBhYTRlZDhiYzU3MDlkOTc3MTFhZTllXzQwMDg_dca2255e-40b2-421c-80a4-1be0446ad3dd">Future amortization expense by operating segment is expected to be as follows:&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.829%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.829%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.978%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Electronic&lt;br/&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Structural&lt;br/&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Consolidated&lt;br/&gt;Ducommun&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,673&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,673&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,223&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;122,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzItMi0xLTEtMjMwMjg_5aad45c2-7459-40e1-a042-e15236dbda67"
      unitRef="usd">9288000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzItNC0xLTEtMjMwMjg_550fa451-1551-4cfb-8123-02f43b24fe97"
      unitRef="usd">5196000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzItNi0xLTEtMjMwMjg_2501cec7-7bca-4f85-ad06-9d64bf649883"
      unitRef="usd">14484000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzMtMi0xLTEtMjMwMjg_3cd16851-b6c8-47d0-8d98-f65f01e152bd"
      unitRef="usd">9288000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzMtNC0xLTEtMjMwMjg_34d573c6-dc1c-467e-92aa-3bf9c73de831"
      unitRef="usd">4673000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzMtNi0xLTEtMjMwMjg_8ddaacfc-5e7e-43e4-ab4a-ea5c15f59d8a"
      unitRef="usd">13961000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzQtMi0xLTEtMjMwMjg_861572a4-9841-42c8-9b50-4a36ecb0586f"
      unitRef="usd">9288000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzQtNC0xLTEtMjMwMjg_bbbc3263-1039-46a4-8741-2bc38e3375e7"
      unitRef="usd">4673000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzQtNi0xLTEtMjMwMjg_618b7ee7-db1f-4bbe-ac9b-08ed7f3b2b61"
      unitRef="usd">13961000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzUtMi0xLTEtMjMwMjg_0780cf10-a2c9-40c7-95c5-89b6ba069308"
      unitRef="usd">9288000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzUtNC0xLTEtMjMwMjg_f24066bb-247b-4692-acfe-f01854cb68b1"
      unitRef="usd">4649000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzUtNi0xLTEtMjMwMjg_f961b759-46b3-4a99-81d5-ea4bf1271195"
      unitRef="usd">13937000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzYtMi0xLTEtMjMwMjg_d3e82a00-b5d5-480a-bd2a-1cf55a093161"
      unitRef="usd">9288000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzYtNC0xLTEtMjMwMjg_e4034a98-09ab-4d7a-bcce-290621be7a0f"
      unitRef="usd">4647000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzYtNi0xLTEtMjMwMjg_f4e5d4ed-91e7-4032-96dc-a84acb325b01"
      unitRef="usd">13935000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzctMi0xLTEtMjMwMjg_8dcdbc6b-8d13-462d-ad2a-0f8ff2a3ba4f"
      unitRef="usd">18626000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzctNC0xLTEtMjMwMjg_a8f3b8e0-ae78-4b2f-8a2d-6e505c9fc682"
      unitRef="usd">33597000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzctNi0xLTEtMjMwMjg_4f1e04c8-8593-440b-be7e-9a286e8b8dbd"
      unitRef="usd">52223000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i05e2158e94b2482a91b84939eaf2a1e0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzgtMi0xLTEtMjMwMjg_f4d64f66-0dbe-48c7-868e-a570eafa621c"
      unitRef="usd">65066000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i2a2f57e40b1946dda803f324e3d5c8cb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzgtNC0xLTEtMjMwMjg_9500dec0-602c-4523-b626-ff12d76e1bb1"
      unitRef="usd">57435000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDIvZnJhZzpjNjU2MGQ1MmUwYWE0ZWQ4YmM1NzA5ZDk3NzExYWU5ZS90YWJsZTo3NWViYTYxNGY4ZWY0Zjc4YTM2NTM0N2IxYjQxYTRhZS90YWJsZXJhbmdlOjc1ZWJhNjE0ZjhlZjRmNzhhMzY1MzQ3YjFiNDFhNGFlXzgtNi0xLTEtMjMwMjg_a5b5d04a-42f4-4a8a-9530-32118a3e0a28"
      unitRef="usd">122501000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDUvZnJhZzo1NDQ2ZTUzNDQ2YTA0NWViOWE3N2U2YTQ3MWM4YWEyMS90ZXh0cmVnaW9uOjU0NDZlNTM0NDZhMDQ1ZWI5YTc3ZTZhNDcxYzhhYTIxXzEzNQ_dae49b7d-8cf1-48c7-aa1c-935678341785">Accrued and Other Liabilities&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of accrued and other liabilities consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.419%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.905%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.908%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued income tax and sales tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;926&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,557&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDUvZnJhZzo1NDQ2ZTUzNDQ2YTA0NWViOWE3N2U2YTQ3MWM4YWEyMS90ZXh0cmVnaW9uOjU0NDZlNTM0NDZhMDQ1ZWI5YTc3ZTZhNDcxYzhhYTIxXzEyMg_13b2693f-352e-4dc2-8935-8fa8545f469b">&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of accrued and other liabilities consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.419%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.905%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.908%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued income tax and sales tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;926&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,557&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <dco:AccruedCompensationCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDUvZnJhZzo1NDQ2ZTUzNDQ2YTA0NWViOWE3N2U2YTQ3MWM4YWEyMS90YWJsZToyOTdhMzI2OGI2NmE0ZjFkOWY3MTM4ZDNjMDcyYzlkMC90YWJsZXJhbmdlOjI5N2EzMjY4YjY2YTRmMWQ5ZjcxMzhkM2MwNzJjOWQwXzItMi0xLTEtMjMwMjg_04ec0bcb-3a6f-45ed-97a7-2560f60f3c32"
      unitRef="usd">28785000</dco:AccruedCompensationCurrent>
    <dco:AccruedCompensationCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDUvZnJhZzo1NDQ2ZTUzNDQ2YTA0NWViOWE3N2U2YTQ3MWM4YWEyMS90YWJsZToyOTdhMzI2OGI2NmE0ZjFkOWY3MTM4ZDNjMDcyYzlkMC90YWJsZXJhbmdlOjI5N2EzMjY4YjY2YTRmMWQ5ZjcxMzhkM2MwNzJjOWQwXzItNC0xLTEtMjMwMjg_35c1b20f-8f70-4fb5-9f0a-8dc36cadcc12"
      unitRef="usd">24391000</dco:AccruedCompensationCurrent>
    <dco:AccruedIncomeTaxesAndOtherCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDUvZnJhZzo1NDQ2ZTUzNDQ2YTA0NWViOWE3N2U2YTQ3MWM4YWEyMS90YWJsZToyOTdhMzI2OGI2NmE0ZjFkOWY3MTM4ZDNjMDcyYzlkMC90YWJsZXJhbmdlOjI5N2EzMjY4YjY2YTRmMWQ5ZjcxMzhkM2MwNzJjOWQwXzMtMi0xLTEtMjMwMjg_6f0bcaa0-cb53-423d-87d4-f516059c65ed"
      unitRef="usd">10478000</dco:AccruedIncomeTaxesAndOtherCurrent>
    <dco:AccruedIncomeTaxesAndOtherCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDUvZnJhZzo1NDQ2ZTUzNDQ2YTA0NWViOWE3N2U2YTQ3MWM4YWEyMS90YWJsZToyOTdhMzI2OGI2NmE0ZjFkOWY3MTM4ZDNjMDcyYzlkMC90YWJsZXJhbmdlOjI5N2EzMjY4YjY2YTRmMWQ5ZjcxMzhkM2MwNzJjOWQwXzMtNC0xLTEtMjMwMjg_98ae6b18-63ff-4300-84e6-c86df3a96d2e"
      unitRef="usd">926000</dco:AccruedIncomeTaxesAndOtherCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDUvZnJhZzo1NDQ2ZTUzNDQ2YTA0NWViOWE3N2U2YTQ3MWM4YWEyMS90YWJsZToyOTdhMzI2OGI2NmE0ZjFkOWY3MTM4ZDNjMDcyYzlkMC90YWJsZXJhbmdlOjI5N2EzMjY4YjY2YTRmMWQ5ZjcxMzhkM2MwNzJjOWQwXzQtMi0xLTEtMjMwMjg_06eab80e-49c7-485b-abc1-085169f2d53b"
      unitRef="usd">9557000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDUvZnJhZzo1NDQ2ZTUzNDQ2YTA0NWViOWE3N2U2YTQ3MWM4YWEyMS90YWJsZToyOTdhMzI2OGI2NmE0ZjFkOWY3MTM4ZDNjMDcyYzlkMC90YWJsZXJhbmdlOjI5N2EzMjY4YjY2YTRmMWQ5ZjcxMzhkM2MwNzJjOWQwXzQtNC0xLTEtMjMwMjg_bd906017-0841-41d0-8afd-dc67e2c757fe"
      unitRef="usd">15974000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDUvZnJhZzo1NDQ2ZTUzNDQ2YTA0NWViOWE3N2U2YTQ3MWM4YWEyMS90YWJsZToyOTdhMzI2OGI2NmE0ZjFkOWY3MTM4ZDNjMDcyYzlkMC90YWJsZXJhbmdlOjI5N2EzMjY4YjY2YTRmMWQ5ZjcxMzhkM2MwNzJjOWQwXzUtMi0xLTEtMjMwMjg_48a52478-2ca8-4890-a3ca-fa245ee4e813"
      unitRef="usd">48820000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDUvZnJhZzo1NDQ2ZTUzNDQ2YTA0NWViOWE3N2U2YTQ3MWM4YWEyMS90YWJsZToyOTdhMzI2OGI2NmE0ZjFkOWY3MTM4ZDNjMDcyYzlkMC90YWJsZXJhbmdlOjI5N2EzMjY4YjY2YTRmMWQ5ZjcxMzhkM2MwNzJjOWQwXzUtNC0xLTEtMjMwMjg_38500754-1954-4de4-a2a9-853dcf20883f"
      unitRef="usd">41291000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LongTermDebtTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzkzNjU_e1776174-0122-4721-b7f1-e0358c22abb3">Long-Term Debt&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt and the current period interest rates were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.324%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;248,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;248,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total long-term debt, less current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;280,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less debt issuance costs - term loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,593)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,328)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total long-term debt, net of debt issuance costs - term loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;240,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Debt issuance costs - revolving credit facility &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) Included as part of other assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future long-term debt payments at December&#160;31, 2022 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.501%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.299%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,063&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;207,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;248,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 14, 2022, we completed a refinancing of all our existing debt by entering into a new term loan (&#x201c;2022 Term Loan&#x201d;) and a new revolving credit facility (&#x201c;2022 Revolving Credit Facility&#x201d;). The 2022 Term Loan is a $250.0&#160;million senior secured loan that matures on July 14, 2027. The 2022 Revolving Credit Facility is a $200.0&#160;million senior secured revolving credit facility that matures on July 14, 2027. The 2022 Term Loan and 2022 Revolving Credit Facility, collectively are the new credit facilities (&#x201c;2022 Credit Facilities&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2022 Term Loan bears interest, at our option, at a rate equal to either (i) Term Secured Overnight Financing Rate (&#x201c;Term SOFR&#x201d;) plus an applicable margin ranging from 1.375% to 2.375% per year or (ii) Base Rate (defined as the highest of [a] Federal Funds Rate plus 0.50%, [b] Bank of America&#x2019;s prime rate, and [c] Term SOFR plus 1.00%, and if the Base Rate is less than zero percent, it will be deemed zero percent) plus an applicable margin ranging from 0.375% to 1.375% per year, in each case based upon the consolidated total net adjusted leverage ratio. Interest payments are typically paid on a quarterly basis, on the last business day each quarter. In addition, the 2022 Term Loan requires quarterly amortization payments of 0.625% during year one and year two, 1.250% during year three and year four, and 1.875% during year five of the original outstanding principal balance of the 2022 Term Loan amount, on the last business day each quarter. The first quarterly amortization payment of $1.6&#160;million was required to be paid and was paid during the fourth quarter of 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2022 Revolving Credit Facility bears interest, at our option, at a rate equal to either (i) Term SOFR plus an applicable margin ranging from 1.375% to 2.375% per year or (ii) Base Rate (defined as the highest of [a] Federal Funds Rate plus 0.50%, [b] Bank of America&#x2019;s prime rate, and [c] Term SOFR plus 1.00%, and if the Base Rate is less than zero percent, it will be deemed zero percent) plus an applicable margin ranging from 0.375% to 1.375% per year, in each case based upon the consolidated total net adjusted leverage ratio. Interest payments are typically paid on a quarterly basis, on the last business day each quarter. The undrawn portion of the commitment of the 2022 Revolving Credit Facility is subject to a commitment fee ranging from 0.175% to 0.275%, based upon the consolidated total net adjusted leverage ratio, typically paid on a quarterly basis, on the last business day each quarter. However, the 2022 Revolving Credit Facility does not require any principal installment payments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In conjunction with the closing of the 2022 Credit Facilities, we utilized the entire $250.0&#160;million of proceeds from the 2022 Term Loan plus our existing cash on hand to pay off our entire debt balance outstanding of $254.2&#160;million under prior credit facilities (described below).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2022, we were in compliance with all covenants required under the 2022 Credit Facilities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, we completed the refinancing of a portion of our then existing debt by entering into a new revolving credit facility (&#x201c;2019 Revolving Credit Facility&#x201d;) to replace the then existing revolving credit facility that was entered into in November 2018 (&#x201c;2018 Revolving Credit Facility&#x201d;) and entered into a new term loan (&#x201c;2019 Term Loan&#x201d;). The 2019 Revolving Credit Facility was a $100.0 million senior secured revolving credit facility that would have matured on December 20, 2024 and replaced the $100.0 million 2018 Revolving Credit Facility that would have matured on November 21, 2023. The 2019 Term Loan was a $140.0 million senior secured term loan that would have matured on December 20, 2024. We also had a then existing $240.0 million senior secured term loan that was entered into in November 2018 that would have matured on November 21, 2025 (&#x201c;2018 Term Loan&#x201d;). The original amounts available under the 2019 Revolving Credit Facility, 2019 Term Loan, and 2018 Term Loan (collectively, the &#x201c;Existing Credit Facilities&#x201d;) in aggregate, totaled $480.0 million at that time. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2019 Term Loan bore interest, at our option, at a rate equal to either (i) the Eurodollar Rate (defined as the London Interbank Offered Rate [&#x201c;LIBOR&#x201d;]) plus an applicable margin ranging from 1.50% to 2.50% per year or (ii) the Base Rate (defined as the highest of [a] Federal Funds Rate plus 0.50%, [b] Bank of America&#x2019;s prime rate, and [c] the Eurodollar Rate plus 1.00%) plus an applicable margin ranging from 0.50% to 1.50% per year, in each case based upon the consolidated total net adjusted leverage ratio, typically payable quarterly. In addition, the 2019 Term Loan required amortization payments of 1.25% of the original outstanding principal balance of the 2019 Term Loan amount on a quarterly basis, on the last day of the calendar quarter. During 2022, we made the required quarterly payments on the 2019 Term Loan before it was refinanced, in aggregate totaling $3.5&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2019 Revolving Credit Facility bore interest, at our option, at a rate equal to either (i) the Eurodollar Rate (defined as LIBOR) plus an applicable margin ranging from 1.50% to 2.50% per year or (ii) the Base Rate (defined as the highest of [a] Federal Funds Rate plus 0.50%, [b] Bank of America&#x2019;s prime rate, and [c] the Eurodollar Rate plus 1.00%) plus an applicable margin ranging from 0.50% to 1.50% per year, in each case based upon the consolidated total net adjusted leverage ratio, typically payable quarterly. The undrawn portion of the commitment of the 2019 Revolving Credit Facility was subject to a commitment fee ranging from 0.175% to 0.275%, based upon the consolidated total net adjusted leverage ratio. However, the 2019 Revolving Credit Facility did not require any principal installment payments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2018 Term Loan bore interest, at our option, at a rate equal to either (i) the Eurodollar Rate (defined as LIBOR plus an applicable margin ranging from 3.75% to 4.00% per year or (ii) the Base Rate (defined as the highest of [a] Federal Funds Rate plus 0.50%, [b] Bank of America&#x2019;s prime rate, and [c] the Eurodollar Rate plus 1.00%) plus an applicable margin ranging from &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.75% to 4.00% per year, in each case based upon the consolidated total net adjusted leverage ratio, typically payable quarterly. In addition, the 2018 Term Loan required amortization payments of 0.25% of the outstanding principal balance of the 2018 Term Loan amount on a quarterly basis. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Further, under the then Existing Credit Facilities, if we exceeded the annual excess cash flow threshold, we were required to make an annual additional principal payment based on the consolidated adjusted leverage ratio. The annual mandatory excess cash flow payment was based on (i) 50% of the excess cash flow amount if the adjusted leverage ratio is greater than 3.25 to 1.0, (ii) 25% of the excess cash flow amount if the adjusted leverage ratio was less than or equal to 3.25 to 1.0 but greater than 2.50 to 1.0, and (iii) zero percent of the excess cash flow amount if the consolidated adjusted leverage ratio was less than or equal to 2.50 to 1.0. We did not exceed the annual excess cash flow threshold for 2021 and thus, no annual excess cash flow payment was required to be paid during the first quarter of 2022. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We drew down $50.0&#160;million on the 2019 Revolving Credit Facility during the first quarter of 2020 to hold as cash on hand, $25.0&#160;million of which was repaid during the fourth quarter of 2020. The remaining $25.0&#160;million was repaid during 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, since we were paying down on the term loans during the first quarter of 2022, we were required to pay down on the 2019 Term Loan and 2018 Term Loan on a pro-rata basis and thus, we paid down $13.0&#160;million and $17.0&#160;million on the 2019 Term Loan and 2018 Term Loan, respectively, for an aggregate total pay down of $30.0&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2022, we had $199.8&#160;million of unused borrowing capacity under the 2022 Revolving Credit Facility, after deducting $0.2 million for standby letters of credit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2022 Term Loan was considered a modification of debt for some lenders and an extinguishment of debt for other lenders, and thus, a loss of $0.2&#160;million was recorded related to the extinguishment. In addition, the new fees incurred of $0.8&#160;million were capitalized and will be amortized over the life of the 2022 Term Loan. Further, the remaining debt issuance costs related to the 2019 Term Loan and 2018 Term Loan of $1.0&#160;million as of the modification date will be amortized over the life of the 2022 Term Loan, using the effective interest method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2022 Revolving Credit Facility that replaced the 2019 Revolving Credit Facility was considered a modification of debt except for the portion related to the creditor that is no longer a part of the 2022 Revolving Credit Facility and in which case, it was considered an extinguishment of debt. As a result, we expensed the portion of the unamortized debt issuance costs related to the 2019 Revolving Credit Facility that was considered an extinguishment of debt of $0.1&#160;million. In addition, the new fees incurred of $1.7&#160;million as part of the 2022 Revolving Credit Facility were capitalized and will be amortized over the life of the 2022 Revolving Credit Facility. Further, the remaining debt issuance costs related to the 2019 Revolving Credit Facility of $0.8&#160;million as of the modification date will also be amortized over the life of the 2022 Revolving Credit Facility.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2019 Term Loan and 2018 Term Loan were considered a modification of debt in 2019 and thus, no gain or loss was recorded at that time. Instead, the new fees paid to the lenders at that time of $0.6 million were capitalized and were being amortized over the life of the 2019 Term Loan. The remaining debt issuance costs related to the 2018 Term Loan of $1.5 million as of the modification date in 2019 were being amortized over its remaining life. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2019 Revolving Credit Facility that replaced the 2018 Revolving Credit Facility was considered an extinguishment of debt except for the portion related to the creditors that were part of both the 2019 Revolving Credit Facility and the 2018 Revolving Credit Facility and in which case, it was considered a modification of debt in 2019. As a result, we expensed the portion of the unamortized debt issuance costs related to the 2018 Revolving Credit Facility that was considered an extinguishment of debt of $0.5 million in 2019. In addition, the new fees paid to the lenders of $0.5 million as part of the 2019 Revolving Credit Facility were capitalized and were being amortized over its remaining life. Further, the remaining debt issuance costs related to the 2018 Revolving Credit Facility of $1.1 million were also being amortized over its remaining life.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2021, we acquired 100.0% of the outstanding equity interests of Magnetic Seal LLC (f/k/a Magnetic Seal Corporation, &#x201c;MagSeal&#x201d;) for an original purchase price of $69.5 million, net of cash acquired, all payable in cash. Upon the closing of the transaction, we paid a gross total aggregate of $71.3 million in cash, $65.0&#160;million of which was from drawing down on the 2019 Revolving Credit Facility. This draw down on the 2019 Revolving Credit Facility was paid off by December 31, 2021. See Note 2.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Also in December 2021, we entered into a sale-leaseback transaction for the building and related land for our Gardena performance center located in Carson, California, for a sale price of $143.1&#160;million. A portion of the net proceeds were used to pay down on the $65.0&#160;million that was drawn on the 2019 Revolving Credit Facility for the MagSeal acquisition. See Note 5.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2022 Credit Facilities were entered into by us (&#x201c;Parent Company&#x201d;) and guaranteed by all of our domestic subsidiaries, other than two subsidiaries that were considered minor (&#x201c;Subsidiary Guarantors&#x201d;). The Subsidiary Guarantors jointly and severally guarantee the 2022 Credit Facilities. The Parent Company has no independent assets or operations and therefore, no consolidating financial information for the Parent Company and its subsidiaries is presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2021, we entered into derivative contracts, U.S. dollar-one month LIBOR forward interest rate swaps designated as cash flow hedges, all with an effective date of January 1, 2024, for an aggregate total notional amount of $150.0&#160;million, weighted average fixed rate of 1.8%, and all terminating on January 1, 2031 (&#x201c;Forward Interest Rate Swaps&#x201d;). The Forward Interest Rate Swaps mature on a monthly basis, with fixed amount payer payment dates on the first day of each calendar month, commencing on February 1, 2024 through January 1, 2031. The Forward Interest Rate Swaps were deemed to be highly effective upon entering into the derivative contracts and thus, hedge accounting treatment was utilized. Since the Forward Interest Rate Swaps are not effective until January 1, 2024, we only recorded the changes in the fair value of the Forward Interest Rate Swaps and recorded in other assets, deferred income taxes, and accumulated other comprehensive income (loss) of $15.8&#160;million during December&#160;31, 2022. See Note&#160;1 for further information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 14, 2022, as a result of completing a refinancing of our existing debt, we were required to complete an amendment of the Forward Interest Rate Swaps (&#x201c;Amended Forward Interest Rate Swaps&#x201d;). The Forward Interest Rate Swaps were based on U.S. dollar-one month LIBOR and were amended to be based on one month Term SOFR as borrowings using LIBOR are no longer available under the 2022 Credit Facilities. Since this was an amendment of just the reference rate as a result of the cessation of LIBOR, utilizing the guidance under ASU 2020-04, we determined the Amended Forward Interest Rate Swaps as of the amendment date to continue to be highly effective. The Amended Forward Interest Rate Swaps weighted average fixed rate is 1.7%, as a result of the difference between U.S. dollar-one month LIBOR and one month Term SOFR.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In October 2015, we entered into interest rate cap hedges designated as cash flow hedges with a portion of these interest rate cap hedges maturing on a quarterly basis, and a final quarterly maturity date of June 2020, in aggregate, totaling $135.0 million of our debt. We paid a total of $1.0 million in connection with entering into the interest rate cap hedges. The interest rate cap hedges matured during our second quarter of 2020 and as such, all remaining amounts related to the interest rate cap hedges were fully amortized and unrealized gains and losses recorded in accumulated other comprehensive income were also realized at that time. See Note&#160;1 for further information.&lt;/span&gt;&lt;/div&gt;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzkzNjc_7b930fde-4536-406e-9ef5-ad6e08a0edf7">&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt and the current period interest rates were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.324%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;248,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;248,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total long-term debt, less current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;280,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less debt issuance costs - term loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,593)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,328)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total long-term debt, net of debt issuance costs - term loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;240,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Debt issuance costs - revolving credit facility &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) Included as part of other assets.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i2ed9f0b47a8649fb9f67fabb9cd91212_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzItMi0xLTEtMjMwMjg_bce926ce-7599-40d0-900b-1abd19347393"
      unitRef="usd">248438000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i5663e46a1663410ba57d5532dbe03f77_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzItNC0xLTEtMjMwMjg_bfb71793-6df4-4cf2-adef-f48a2a2e4206"
      unitRef="usd">287712000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzYtMi0xLTEtMjMwMjg_582d4b3a-9679-436f-b530-88d6ac4f8d91"
      unitRef="usd">248438000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzYtNC0xLTEtMjMwMjg_d87a8883-8371-47a2-8bf7-9c473cb20456"
      unitRef="usd">287712000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:LongTermDebtCurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzctMi0xLTEtMjMwMjg_809d01c4-f4e7-4a79-b03e-b5f29ff6c401"
      unitRef="usd">6250000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzctNC0xLTEtMjMwMjg_b33e1bfe-784b-4520-ba26-1e7c21556d90"
      unitRef="usd">7000000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzgtMi0xLTEtMjMwMjg_96935528-a2f8-4697-81db-8980e6e78387"
      unitRef="usd">242188000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzgtNC0xLTEtMjMwMjg_2f906018-f2c5-43b8-b4ea-d7285085500b"
      unitRef="usd">280712000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i2ed9f0b47a8649fb9f67fabb9cd91212_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzktMi0xLTEtMjMwMjg_d3166434-eb94-4eea-921e-8083bc9668af"
      unitRef="usd">1593000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i5663e46a1663410ba57d5532dbe03f77_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzktNC0xLTEtMjMwMjg_ecfddd78-f02c-450e-819f-872e937d3cc4"
      unitRef="usd">1328000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzEwLTItMS0xLTIzMDI4_7b5c0c6b-19c7-44fd-81bc-ec3638e3593d"
      unitRef="usd">240595000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzEwLTQtMS0xLTIzMDI4_1ebed342-e091-4ed9-88c9-683fe71a154f"
      unitRef="usd">279384000</us-gaap:LongTermDebt>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i0854d9b3680d468a81d651dc23aabd79_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzExLTItMS0xLTIzMDI4_1d4551f6-7ca6-471e-b6f9-d3c5904ec343"
      unitRef="usd">2265000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="if1bce70a87454f37a3dcf97a2c4861bd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzExLTQtMS0xLTIzMDI4_5b917b24-bd7a-4aa5-a188-ea83754d703c"
      unitRef="usd">1136000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongtermDebtWeightedAverageInterestRate
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzEzLTItMS0xLTIzMDI4_29a676f1-486f-43a1-98cb-166e9666a770"
      unitRef="number">0.0436</us-gaap:LongtermDebtWeightedAverageInterestRate>
    <us-gaap:LongtermDebtWeightedAverageInterestRate
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTpjNmY3Mzc3MTBkOTY0M2ViODU1Y2I5MTUyZmRmMDA1OS90YWJsZXJhbmdlOmM2ZjczNzcxMGQ5NjQzZWI4NTVjYjkxNTJmZGYwMDU5XzEzLTQtMS0xLTIzMDI4_bc34dcb7-fca6-4c4a-9aaf-bd1861a1e78e"
      unitRef="number">0.0327</us-gaap:LongtermDebtWeightedAverageInterestRate>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzkzNjg_ede1f54b-751e-4e62-9efe-2e60d84f38ac">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future long-term debt payments at December&#160;31, 2022 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.501%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.299%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,063&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;207,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;248,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTplNmU1OWNiODQ2MGM0YzJiOWU2YzAzMjc5OWY0NGRlZS90YWJsZXJhbmdlOmU2ZTU5Y2I4NDYwYzRjMmI5ZTZjMDMyNzk5ZjQ0ZGVlXzEtMS0xLTEtMjMwMjg_64863af3-65a0-441e-83ea-1e06f152cb3b"
      unitRef="usd">6250000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTplNmU1OWNiODQ2MGM0YzJiOWU2YzAzMjc5OWY0NGRlZS90YWJsZXJhbmdlOmU2ZTU5Y2I4NDYwYzRjMmI5ZTZjMDMyNzk5ZjQ0ZGVlXzItMS0xLTEtMjMwMjg_0e666b6f-cff4-4742-b529-cc8fc473c4e3"
      unitRef="usd">7813000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTplNmU1OWNiODQ2MGM0YzJiOWU2YzAzMjc5OWY0NGRlZS90YWJsZXJhbmdlOmU2ZTU5Y2I4NDYwYzRjMmI5ZTZjMDMyNzk5ZjQ0ZGVlXzMtMS0xLTEtMjMwMjg_6ce64402-79d6-4155-9160-d6c308412ef8"
      unitRef="usd">12500000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTplNmU1OWNiODQ2MGM0YzJiOWU2YzAzMjc5OWY0NGRlZS90YWJsZXJhbmdlOmU2ZTU5Y2I4NDYwYzRjMmI5ZTZjMDMyNzk5ZjQ0ZGVlXzQtMS0xLTEtMjMwMjg_8fd92b61-d579-4bc8-a011-72b22eb385b3"
      unitRef="usd">14063000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTplNmU1OWNiODQ2MGM0YzJiOWU2YzAzMjc5OWY0NGRlZS90YWJsZXJhbmdlOmU2ZTU5Y2I4NDYwYzRjMmI5ZTZjMDMyNzk5ZjQ0ZGVlXzUtMS0xLTEtMjMwMjg_0bd352c8-579f-4653-8386-de78ee2d53bb"
      unitRef="usd">207812000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTplNmU1OWNiODQ2MGM0YzJiOWU2YzAzMjc5OWY0NGRlZS90YWJsZXJhbmdlOmU2ZTU5Y2I4NDYwYzRjMmI5ZTZjMDMyNzk5ZjQ0ZGVlXzYtMS0xLTEtMjMwMjg_46bf9173-451c-4678-9d55-fe623673a089"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90YWJsZTplNmU1OWNiODQ2MGM0YzJiOWU2YzAzMjc5OWY0NGRlZS90YWJsZXJhbmdlOmU2ZTU5Y2I4NDYwYzRjMmI5ZTZjMDMyNzk5ZjQ0ZGVlXzctMS0xLTEtMjMwMjg_61a191c7-34ef-45d4-a6d2-28ca4898ea5f"
      unitRef="usd">248438000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i070a3cb6197946b4bb2ea0c8784321fc_I20220714"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM4NTc_c2e5d098-645a-41fd-ae79-52feef72cba1"
      unitRef="usd">250000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="ie56bbee34670401ca69ef8a1e77fa5d2_I20220714"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM4NzM_bd11a619-c442-4586-81d5-950d98319e36"
      unitRef="usd">200000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i06ee90464de74609b5dbdb79ec8a2c60_D20220714-20220714"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM4ODk_2c980988-21a9-431f-952a-a8eab5060521"
      unitRef="number">0.01375</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i5860faf1ae9b46cab7094b0056105d05_D20220714-20220714"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM4OTc_a24344db-72b6-4bd9-a0ff-6363ebbd52da"
      unitRef="number">0.02375</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ibb37fc8f7e844eaeadb08b4ec9b0c677_D20220714-20220714"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5MDU_0536cfb4-9a5e-4607-9bd2-d1fd50d478b1"
      unitRef="number">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <dco:DebtInstrumentBasisSpreadonFixedRateBaseRate
      contextRef="i21f727e47b4c4f668d882ca5b003afba_D20220714-20220714"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5MTI_5c31807b-b186-4aee-9ee1-9b1bd88dc3d3"
      unitRef="number">0.0100</dco:DebtInstrumentBasisSpreadonFixedRateBaseRate>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i1ca2aa4f4278429ba8db9b7561614795_D20220714-20220714"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5MTk_0a51a999-15bb-47d2-ba51-c488c80f216b"
      unitRef="number">0.00375</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ib5cb99ae6adb4593b9461b6561978033_D20220714-20220714"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5Mjc_b3c38303-2833-42d7-890f-d6acfed9cb24"
      unitRef="number">0.01375</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <dco:DebtInstrumentPrepaymentAmountPercentageofPrincipalAmount
      contextRef="i7b40048d6d504aae915f35756233c4ac_I20220714"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5MzQ_52b4308f-39a8-458a-80c5-f3f8a15d5900"
      unitRef="number">0.625</dco:DebtInstrumentPrepaymentAmountPercentageofPrincipalAmount>
    <dco:DebtInstrumentPrepaymentAmountPercentageofPrincipalAmount
      contextRef="i20e0fa77d09d42af80e105e13a643740_I20220714"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5MzY_15e2cbd6-3d67-4f00-bff3-7828b3fe802a"
      unitRef="number">0.01250</dco:DebtInstrumentPrepaymentAmountPercentageofPrincipalAmount>
    <dco:DebtInstrumentPrepaymentAmountPercentageofPrincipalAmount
      contextRef="i6c42529e34ae45d4aeff7be41210398f_I20220714"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5NDQ_10ed901f-8f0f-4786-b2e8-0c8a0e7b8171"
      unitRef="number">0.01875</dco:DebtInstrumentPrepaymentAmountPercentageofPrincipalAmount>
    <us-gaap:RepaymentsOfDebt
      contextRef="ie9dc35fe5dee4fff9c5dae58dcee4109_D20221002-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5NTI_fb7e2c93-1c70-46f9-9e52-5b2832343e24"
      unitRef="usd">1600000</us-gaap:RepaymentsOfDebt>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i2e33e04fea004db1893e4ccb2c8868b4_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5NjY_ccda7c59-e655-4917-8cda-e16a3727afab"
      unitRef="number">0.01375</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ic7899c834c0d44b39481cf24a6471b67_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5NzQ_56eb9105-4142-4782-a71a-2ffad9fc19f0"
      unitRef="number">0.02375</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i4b945ae6d13d4328866213389fd39559_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQwMjM_b131b0f4-099f-4b08-80d4-14a20cbb0b36"
      unitRef="number">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <dco:DebtInstrumentBasisSpreadonFixedRateBaseRate
      contextRef="i115321a46cb743bebdd5824c534e1b3d_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5ODM_dd482231-f51a-42ea-8399-a51db28da469"
      unitRef="number">0.0100</dco:DebtInstrumentBasisSpreadonFixedRateBaseRate>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i6a36fbd44e2841189f6f30b768f733e2_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5OTA_34faf121-54f6-43c7-87e3-d8f31b1fcd65"
      unitRef="number">0.00375</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i11cf978e2e0c4c5d96d6f163f998f8c1_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzM5OTg_56495bf2-7458-4b3c-9002-64206af8a900"
      unitRef="number">0.01375</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="iaad60cd962e948e290f520495ed1f4cd_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQwMDY_7af7089f-d661-4a31-9f52-9590c672b816"
      unitRef="number">0.00175</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i62c8c9475c3b4c768622a8cb5c1936fa_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQwMTQ_fac68c45-a3d2-4e0c-b4dc-6b2b28c6e52d"
      unitRef="number">0.00275</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="ie4d346036e8d4197863ba599d46f55ae_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQwMzA_f723f5bb-0364-4809-97be-a9832bd62b1b"
      unitRef="usd">250000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfDebt
      contextRef="ie4d346036e8d4197863ba599d46f55ae_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQwNDY_a886e7fb-8f1c-4060-9c03-a52ea90df697"
      unitRef="usd">254200000</us-gaap:RepaymentsOfDebt>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i312ccb3344a849b1ac33bd56c689bce0_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzU4Mw_e5f6c810-6449-4043-aca3-dea4eefc6b0e"
      unitRef="usd">100000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="ib4897fa8a4c44036935b70891ebf34a5_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzY3NQ_d3826830-f647-4144-9a89-1abe5f408d2c"
      unitRef="usd">100000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i812d748778ce497c9a7e7854fb4e68f8_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc3OQ_af3d7623-7431-4596-a186-ef209fb5361c"
      unitRef="usd">140000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i163ccc798ab34b85829c886a3e3bfcab_I20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzg2Nw_42d9baa3-b09b-4d72-b64e-c733f3b2ea48"
      unitRef="usd">240000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i8939340de47a498e831c351e3bbe6569_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzExNTg_ab36c3f5-a40c-4cbb-9bf5-126af4eb7de2"
      unitRef="usd">480000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i63a7e4ae309f476bbf0c511a1b4c411d_D20191220-20191220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzEzNTk_3bbeb904-90e2-4fa3-98dc-fbbf5afe3b22"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i5ce80f48b25c43368e3d29acf550e79a_D20191220-20191220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzEzNjU_d5311e5b-3738-4c0c-a629-fd2ff4c0dced"
      unitRef="number">0.0250</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <dco:DebtInstrumentBasisSpreadonFixedRateBaseRate
      contextRef="iae1e07cebc9542818cc0987f9957e004_D20191220-20191220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzE0NTQ_728abf86-a6af-46c5-a6d0-7930fb6a309c"
      unitRef="number">0.0050</dco:DebtInstrumentBasisSpreadonFixedRateBaseRate>
    <dco:DebtInstrumentBasisSpreadonFixedRateBaseRate
      contextRef="i71571e52046946e58977bde1b02d9347_D20191220-20191220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzE1MjU_f75bf47c-afaf-4978-83fe-d519b99a559f"
      unitRef="number">0.0100</dco:DebtInstrumentBasisSpreadonFixedRateBaseRate>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i25a2eb1fdc0645b0bb1179e6af5b6a82_D20191220-20191220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzE1Njg_2d45da39-408c-4bb3-930d-4894571e293d"
      unitRef="number">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i0d2aba2fce254b99891e701fd46afd55_D20191220-20191220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzE1NzQ_faec8221-ce46-4d8f-a736-4aa2bc31f7d1"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <dco:DebtInstrumentPrepaymentAmountPercentageofPrincipalAmount
      contextRef="i45945b2e53534cc19b33aabeec2bd3e9_I20191220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzE3Njg_6057f34f-20a5-4b3c-82b7-ba3392861bfa"
      unitRef="number">0.0125</dco:DebtInstrumentPrepaymentAmountPercentageofPrincipalAmount>
    <us-gaap:RepaymentsOfDebt
      contextRef="ia6574ed566494a10996418e1e591fd0a_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzE5ODU_b0dec556-94d7-47c7-8103-a208fbcbf7da"
      unitRef="usd">3500000</us-gaap:RepaymentsOfDebt>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="id45f930d5a75410b85e17178a07466d2_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzIxNjM_01de499c-d4f1-4716-b221-39f7092ec766"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i355387964c024e40880f4c65e1ab1198_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzIxNjk_f97190a1-622b-4ff8-8943-e58acb85555e"
      unitRef="number">0.0250</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <dco:DebtInstrumentBasisSpreadonFixedRateBaseRate
      contextRef="i19412b463e6a45e08e11037299c4fbb4_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzIyNTg_72d574a2-af0c-4724-baa2-bc2b25b144dc"
      unitRef="number">0.0050</dco:DebtInstrumentBasisSpreadonFixedRateBaseRate>
    <dco:DebtInstrumentBasisSpreadonFixedRateBaseRate
      contextRef="ide62cd81fac7488b91de2e87f9ca48f1_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzIzMjk_38fedccb-e8d3-49b3-8f09-6e4ddbdfcba8"
      unitRef="number">0.0100</dco:DebtInstrumentBasisSpreadonFixedRateBaseRate>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i594aca6f2f2f478b8c6e8eb9bf5c638f_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzIzNzI_9543aed2-4704-404a-ba53-bd4e897e4ece"
      unitRef="number">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ieb089c2b3e5c43a2b4c04792ca91ae24_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzIzNzg_8586990d-e24b-41c6-b48b-26f53381981c"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i9dfd3ef93ea247ab9b4261ae581ad20a_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzI2MTY_02415ae2-6b8a-47f7-8b5b-480387a835ed"
      unitRef="number">0.00175</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="icd0a0a1fa87a445685273adb9fa48410_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzI2MjI_7e77a82b-6134-46b7-b7ba-fab3a1fcdd84"
      unitRef="number">0.00275</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ie4abc6a835224f78a4d68850965c2f32_D20181101-20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzI5NDM_0f24a7f4-815e-48c9-a62f-798f03ee144d"
      unitRef="number">0.0375</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i7de47fe4a2fa4125bbc0c009578f473a_D20181101-20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzI5NDk_239a90bb-1137-414e-b8c7-7ebe745125f9"
      unitRef="number">0.0400</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <dco:DebtInstrumentBasisSpreadonFixedRateBaseRate
      contextRef="i851df3369f8e4145a7552973bfa03740_D20181101-20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzMwMzg_4a6311e0-fea9-439a-8a04-9d93f6ba68e3"
      unitRef="number">0.0050</dco:DebtInstrumentBasisSpreadonFixedRateBaseRate>
    <dco:DebtInstrumentBasisSpreadonFixedRateBaseRate
      contextRef="i424e120d0cef4c888d1c81ede647ef97_D20181101-20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzMxMDk_897e6a09-14d4-42c3-803f-e3cacb93908b"
      unitRef="number">0.0100</dco:DebtInstrumentBasisSpreadonFixedRateBaseRate>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i4b541bfe907f4cbc9be8372e5013121a_D20181101-20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzMxNTI_c8d51dc3-7e3b-460e-8fe4-2417ecceac09"
      unitRef="number">0.0375</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ib1f0c514a6e24b4da4f49bd07d21aa90_D20181101-20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzMxNTg_9ef322b5-56b0-48cc-9049-902d97f10485"
      unitRef="number">0.0400</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <dco:DebtInstrumentPrepaymentAmountPercentageofPrincipalAmount
      contextRef="i163ccc798ab34b85829c886a3e3bfcab_I20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzMzNTI_a449453c-7cab-47f7-9c48-e47655fe580f"
      unitRef="number">0.0025</dco:DebtInstrumentPrepaymentAmountPercentageofPrincipalAmount>
    <dco:DebtInstrumentPercentageofExcessCashFlowPaymentWhenLeverageRatioisGreaterthan3.25
      contextRef="i8d4c7b46c39f4b21a1b614b11861a2d8_D20181101-20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzM3MTA_806f9695-3fb0-4cd7-8c36-d72fd4a1915b"
      unitRef="number">0.50</dco:DebtInstrumentPercentageofExcessCashFlowPaymentWhenLeverageRatioisGreaterthan3.25>
    <dco:DebtInstrumentCovenantAdjustedLeverageRatioMinimum
      contextRef="i5d0464222ff04382b8f3d0db2bd7f9e1_I20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MDQwOTE_61ae615d-54bf-41ec-a68a-11dad7b1e7ec"
      unitRef="number">3.25</dco:DebtInstrumentCovenantAdjustedLeverageRatioMinimum>
    <dco:DebtInstrumentPercentageofExcessCashFlowPaymentWhenLeverageRatioisLessthanorEqualto3.25
      contextRef="i8d4c7b46c39f4b21a1b614b11861a2d8_D20181101-20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzM4MDk_223bed86-d8c5-48a5-8dce-344e0f6711b0"
      unitRef="number">0.25</dco:DebtInstrumentPercentageofExcessCashFlowPaymentWhenLeverageRatioisLessthanorEqualto3.25>
    <dco:DebtInstrumentCovenantAdjustedLeverageRatioMaximum
      contextRef="iecd861392deb4a878ec1411fd75aa818_I20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MDQwOTc_d7522ce8-caf5-41df-8074-3a45a20ec669"
      unitRef="number">3.25</dco:DebtInstrumentCovenantAdjustedLeverageRatioMaximum>
    <dco:DebtInstrumentCovenantAdjustedLeverageRatioMinimum
      contextRef="iecd861392deb4a878ec1411fd75aa818_I20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MDQxMDM_3faa2c6a-6f71-48fe-b3e7-6be1555b2c2a"
      unitRef="number">2.50</dco:DebtInstrumentCovenantAdjustedLeverageRatioMinimum>
    <dco:DebtInstrumentPercentageofExcessCashFlowPaymentWhenLeverageRatioisLessThanorEqualto2.50
      contextRef="i8d4c7b46c39f4b21a1b614b11861a2d8_D20181101-20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzM5NTE_3d64a9bb-a7ea-44f1-a742-0ce9cb03313e"
      unitRef="number">0</dco:DebtInstrumentPercentageofExcessCashFlowPaymentWhenLeverageRatioisLessThanorEqualto2.50>
    <dco:DebtInstrumentCovenantAdjustedLeverageRatioMaximum
      contextRef="i1c6c984893494abfae0ba504ebc32cc6_I20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MDQxMDk_8bfce6b2-6966-4b79-a524-04de8296cc47"
      unitRef="number">2.50</dco:DebtInstrumentCovenantAdjustedLeverageRatioMaximum>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i84355a1f3f9b47698a16e7c76e0d1411_D20200101-20200328"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzQyNzM_a302e4a0-9794-4970-b4be-0c56c1ca2536"
      unitRef="usd">50000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i7d8639cb431247ddaca0436fdbcbde49_D20200927-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzQzNzI_9e969463-63a4-4b2e-9d73-10154c1f6733"
      unitRef="usd">25000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i5594e3ed8d624b98b2bff0df556b44aa_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzQ0NDQ_f2023991-9ba4-470b-8c02-286e6d550c24"
      unitRef="usd">25000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="i8a0f52b701bc4ca2be3b06726156b1c2_D20220101-20220402"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQwNjI_a306430d-3183-467a-a0cd-79a303025277"
      unitRef="usd">13000000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="ia62ae3e02fe341bf8ee2418020b975d6_D20220101-20220402"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQwNzc_3bf5901d-8dfe-416e-a2b2-a40ccb5589da"
      unitRef="usd">17000000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="ie7130d48eac044f281206234805f3ded_D20220101-20220402"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQwOTI_a84fee2a-51c1-4706-8fd2-e035dc04731d"
      unitRef="usd">30000000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i99e4bb17cdd8482380a91a304ce97b1a_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzQzOTgwNDY1NDQ0MDU_0d8a3351-a35c-4162-a7cc-037fece34549"
      unitRef="usd">199800000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="i99e4bb17cdd8482380a91a304ce97b1a_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzM0MDA5_eea795bd-bd0c-44fc-a686-86ef0de34ec6"
      unitRef="usd">200000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i65d0dd69475040aba3b8173e32e395f6_D20220714-20220714"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQxMDc_a9ab7ec7-693a-4db1-8021-eee8821a62a9"
      unitRef="usd">-200000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="i070a3cb6197946b4bb2ea0c8784321fc_I20220714"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQxMjE_95e8cebf-45a6-4753-b1f2-c29343107994"
      unitRef="usd">800000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="if4d7fe5a3f654886ae2e64015b481bb3_I20220714"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQxMzU_e35c70ac-5056-4686-adf8-d0388c23a744"
      unitRef="usd">1000000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i55e81261d80641519dd58ae8c9ef8418_D20220714-20220714"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQxNDk_53bb16cc-f40e-465c-bb5c-1592a687a2bd"
      unitRef="usd">100000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="ie56bbee34670401ca69ef8a1e77fa5d2_I20220714"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQxNjM_6bb995fa-d9ed-4e82-ab78-3348c832742c"
      unitRef="usd">1700000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DebtIssuanceCostsLineOfCreditArrangementsNet
      contextRef="ie932223b4d2a4c1e981572b469318d99_I20220714"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc2OTY1ODE0MzQxNzc_972ae7cf-e4ca-438e-a38e-f6a9eccbcfda"
      unitRef="usd">800000</us-gaap:DebtIssuanceCostsLineOfCreditArrangementsNet>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="i5b390d5e547745c4af05f8f4f3fb13f6_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzUyNjU_bafe5b5b-21e8-46cf-94ce-439838feff76"
      unitRef="usd">600000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="ia3330bb5f9944270a7c8aef2714ebff4_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzU0MTM_5a0454af-fef7-4aea-b3c6-da91f2ff765c"
      unitRef="usd">1500000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i517b12d8e0134e2082c58bd9628285a9_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzYwMDI_1c2734fe-a97b-44c3-8e6c-55683b92eb17"
      unitRef="usd">500000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="iee7931bba2d241c08f3f39cf468249d6_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzYwNTU_01fdeb7b-5282-4a2b-85b2-0cd62b35fc92"
      unitRef="usd">500000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DebtIssuanceCostsLineOfCreditArrangementsNet
      contextRef="iee7931bba2d241c08f3f39cf468249d6_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzYyNjI_917afa8d-c9da-4385-804b-6d3fa0ef9df9"
      unitRef="usd">1100000</us-gaap:DebtIssuanceCostsLineOfCreditArrangementsNet>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzYzNDc_d13f2b16-e75a-4be0-a9be-0258a7e233ad"
      unitRef="number">1.000</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="id67a7f76848a4c2ea391417d52ce6037_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzY0NzY_18c52941-eb93-4c15-ba8d-98c04d183963"
      unitRef="usd">69500000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="id67a7f76848a4c2ea391417d52ce6037_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzY1OTU_fedacaf2-63e6-4a06-be90-5be971d7ed15"
      unitRef="usd">71300000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i607c6691cc80469ea9b5b7aa259322d9_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzY2MDc_1312a3cd-5ff7-4564-a48f-c76170457cb6"
      unitRef="usd">65000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLeasePaymentSalesTypeAndDirectFinancingLeasesInvestingActivity
      contextRef="ib7513b90a9914d56b9bced16f329a741_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzY5NTc_897686b5-c7f7-4ad3-97f7-e80835fc6310"
      unitRef="usd">143100000</us-gaap:ProceedsFromLeasePaymentSalesTypeAndDirectFinancingLeasesInvestingActivity>
    <us-gaap:RepaymentsOfDebt
      contextRef="i607c6691cc80469ea9b5b7aa259322d9_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzcwMjA_3be5d52d-c2e3-4403-b3dc-dd46273c033d"
      unitRef="usd">65000000</us-gaap:RepaymentsOfDebt>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i88aa66033f3147a0bc6a66c68007a3b3_I20211129"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc5NDc_ad4accf1-c26d-43a7-a4a2-ebcfd33b8013"
      unitRef="usd">150000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeAverageFixedInterestRate
      contextRef="i88aa66033f3147a0bc6a66c68007a3b3_I20211129"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzc5ODI_98377656-5a0c-4105-abc7-d82d44dd59cc"
      unitRef="number">0.018</us-gaap:DerivativeAverageFixedInterestRate>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="if73bdc74abe1481ca259df3e5782a592_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzM3NTkz_bec6b0cf-dd18-411e-953a-8f5b82878cb5"
      unitRef="usd">15800000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:DerivativeAverageFixedInterestRate
      contextRef="i0a723116b3c346108a2be29606fea7a1_I20220714"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4XzQzOTgwNDY1NTA0MzQ_ad2d7517-6985-48fe-8ce9-2dfe260d7096"
      unitRef="number">0.017</us-gaap:DerivativeAverageFixedInterestRate>
    <us-gaap:HedgingAssetsNoncurrent
      contextRef="i4d666a7369ad4633b493e15158ee11b4_I20151031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzg5NTA_e99d9bf2-40a4-4143-af7c-75fab9fea77d"
      unitRef="usd">135000000</us-gaap:HedgingAssetsNoncurrent>
    <us-gaap:PaymentsForHedgeFinancingActivities
      contextRef="i1aadb47910a44324b9c8c13667afaa1a_D20151001-20151031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNDgvZnJhZzozYzIzNzI5NjFjM2Y0YTcxOTRiYThjNTU3MGRiNjcyOC90ZXh0cmVnaW9uOjNjMjM3Mjk2MWMzZjRhNzE5NGJhOGM1NTcwZGI2NzI4Xzg5ODU_9cfbde21-6c18-4d2c-9b38-5c333a755264"
      unitRef="usd">1000000</us-gaap:PaymentsForHedgeFinancingActivities>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTEvZnJhZzplNzNlODViOThjMTY0YjNlOTM5YTU3YjlmZDVkNThhYi90ZXh0cmVnaW9uOmU3M2U4NWI5OGMxNjRiM2U5MzlhNTdiOWZkNWQ1OGFiXzE1NA_5e06848b-a615-49f7-a1a0-6f231520f01d">Shareholders&#x2019; EquityWe are authorized to issue five million shares of preferred stock. At December&#160;31, 2022 and 2021, no preferred shares were issued or outstanding.</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTEvZnJhZzplNzNlODViOThjMTY0YjNlOTM5YTU3YjlmZDVkNThhYi90ZXh0cmVnaW9uOmU3M2U4NWI5OGMxNjRiM2U5MzlhNTdiOWZkNWQ1OGFiXzYx_36d66c55-c303-466a-b1a4-65c4ec00a318"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTEvZnJhZzplNzNlODViOThjMTY0YjNlOTM5YTU3YjlmZDVkNThhYi90ZXh0cmVnaW9uOmU3M2U4NWI5OGMxNjRiM2U5MzlhNTdiOWZkNWQ1OGFiXzEwNQ_168c3bc3-ff44-4b87-b10e-84d1674d4141"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTEvZnJhZzplNzNlODViOThjMTY0YjNlOTM5YTU3YjlmZDVkNThhYi90ZXh0cmVnaW9uOmU3M2U4NWI5OGMxNjRiM2U5MzlhNTdiOWZkNWQ1OGFiXzEwNQ_1d65fa98-f626-4b1c-b594-c2bec100af25"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTEvZnJhZzplNzNlODViOThjMTY0YjNlOTM5YTU3YjlmZDVkNThhYi90ZXh0cmVnaW9uOmU3M2U4NWI5OGMxNjRiM2U5MzlhNTdiOWZkNWQ1OGFiXzEwNQ_aaedde5a-dd6d-460e-b64c-a8590fad0b54"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTEvZnJhZzplNzNlODViOThjMTY0YjNlOTM5YTU3YjlmZDVkNThhYi90ZXh0cmVnaW9uOmU3M2U4NWI5OGMxNjRiM2U5MzlhNTdiOWZkNWQ1OGFiXzEwNQ_d796098c-1ba9-4e3a-968a-17a266f0c04b"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgzMjA_2bc8731a-f5ad-437f-997e-e34cc3c791d6">Stock-Based Compensation&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock Incentive Compensation Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We currently have two active stock incentive plans: i) the Amended and Restated 2020 Stock Incentive Plan (the &#x201c;2020 Plan&#x201d;), which expires on April 20, 2032, and ii) the 2018 Employee Stock Purchase Plan (&#x201c;ESPP&#x201d;). The 2013 Stock Incentive Plan, as Amended (the &#x201c;2013 Plan&#x201d;) was closed to further issuances of stock awards in May 2020 and any remaining shares available were folded into the 2020 Plan as part of the approval of the 2020 Plan by shareholders at the 2020 Annual Meeting of Shareholders in May 2020. The 2020 Plan permit awards of stock options, restricted stock units, performance stock units and other stock-based awards to our officers, key employees and non-employee directors on terms determined by the Compensation Committee of the Board of Directors (the &#x201c;Compensation Committee&#x201d;). The aggregate number of shares available for issuance under the 2020 Plan is 1,031,162 plus any outstanding awards issued under the 2013 Plan that are subsequently forfeited, terminated, expire or otherwise lapse without being exercised. As of December&#160;31, 2022, shares available for future grant under the 2020 Plan are 338,061. Prior to the adoption of the 2020 Plan, we granted stock-based awards to purchase shares of our common stock under certain predecessor plans. No further awards can be granted under these predecessor plans.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Employee Stock Purchase Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The ESPP was adopted by the Board of Directors and approved by the shareholders in 2018, including 750,000 shares that can be awarded. The first offering period closed on July 31, 2019. Under the ESPP, our employees who elect to participate have the right to purchase common stock at a 15% discount from the lower of the market value of the common stock at the beginning or the end of each six month offering period and the discount will be treated as compensation to those employees. Employees purchase common stock using payroll deductions, which may not exceed 10% of their eligible compensation and other limitations. The Compensation Committee administers the ESPP. As of December&#160;31, 2022, there are 549,977 shares available for future award grants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the years ended December&#160;31, 2022, 2021, and 2020, we granted stock options to our officers and key employees of zero, zero, and 8,000, respectively, with weighted-average grant date fair values of zero, zero, and $16.48, respectively. Stock options have been granted with an exercise price equal to the fair market value of our stock on the date of grant and expire not more than ten years from the date of grant. The stock options typically vest over a period of &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzI1NjQ_07b026ff-cd8a-4889-9038-6153b064afc4"&gt;three&lt;/span&gt; or four years from the date of grant. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The option price and number of shares are subject to adjustment under certain dilutive circumstances. If an employee terminates employment, the non-vested portion of the stock options will not vest and all rights to the non-vested portion will terminate completely. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock option activity for the year ended December&#160;31, 2022 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.164%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.488%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.638%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Number&lt;br/&gt;of Stock Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price Per Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted-Average Remaining Contractual Life (Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Aggregate Intrinsic Value (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at January 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;317,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(109,186)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,150)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exerciseable at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in nonvested stock options for the year ended December&#160;31, 2022 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:76.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.459%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Number of Stock Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Grant &lt;br/&gt;Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested at January 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.93&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(52,438)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The aggregate intrinsic value of stock options represents the amount by which the market price of our common stock exceeds the exercise price of the stock option. The aggregate intrinsic value of stock options exercised for the years ended December&#160;31, 2022, 2021 and 2020 was $2.0 million, $1.0 million, and $0.9 million, respectively. Cash received from stock options exercised for the years ended December&#160;31, 2022, 2021 and 2020 was $3.5 million, $1.7 million, and $1.6 million, respectively, with related tax benefits of $0.8 million, $0.4 million, and $0.4 million, respectively. The total amount of stock options vested and expected to vest in the future is 199,276 shares with a weighted-average exercise price of $36.89 and an aggregate intrinsic value of $2.5 million. These stock options have a weighted-average remaining contractual term of 5.4 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The share-based compensation cost expensed for stock options for the years ended December&#160;31, 2022, 2021, and 2020 (before tax benefits) was $0.3 million, $1.2 million, and $1.8 million, respectively, and is included in selling, general and administrative expenses on the consolidated income statements. At December&#160;31, 2022, there was no remaining unrecognized compensation cost related to stock options. The total fair value of stock options vested during the years ended December&#160;31, 2022, 2021, and 2020 was $0.8 million, $1.7 million, and $2.0 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We apply fair value accounting for stock-based compensation based on the grant date fair value estimated using a Black-Scholes-Merton (&#x201c;Black-Scholes&#x201d;) valuation model. The assumptions used to compute the fair value of stock option grants under the 2020 Stock Incentive Plan for years ended December&#160;31, 2022, 2021, and 2020 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.259%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.147%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividends&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in months)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;66&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize compensation expense, net of an estimated forfeiture rate, on a straight-line basis over the requisite service period of the award. We have award populations with option vesting terms of &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzQ3ODQ_ca248d5d-b292-4d1e-a771-821b9782feea"&gt;three&lt;/span&gt; and four years. We estimate the forfeiture rate based on our historic experience, attempting to determine any discernible activity patterns. The expected life computation is &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;based on historic exercise patterns and post-vesting termination behavior. The risk-free interest rate for periods within the contractual life of the award is based on the U.S. Treasury yield curve in effect at the time of grant. The expected volatility is derived from historical volatility of our common stock. We suspended payments of dividends after the first quarter of 2011.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We granted restricted stock units (&#x201c;RSUs&#x201d;) to certain officers, key employees and non-employee directors of 118,847, 118,995, and 118,835 RSUs during the years ended December&#160;31, 2022, 2021, and 2020, respectively, with weighted-average grant date fair values (equal to the fair market value of our stock on the date of grant) of $51.76, $55.92, and $27.62 per share, respectively. RSUs represent a right to receive a share of stock at future vesting dates with no cash payment required from the holder. The RSUs typically have a three year vesting term of 33.3%, 33.3% and 33.4% on the first, second and third anniversaries of the date of grant, respectively. If an employee terminates employment, their non-vested portion of the RSUs will not vest and all rights to the non-vested portion will terminate. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock unit activity for the year ended December&#160;31, 2022 was as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.405%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Number of Restricted Stock Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Grant &lt;br/&gt;Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at January 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;202,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44.85&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51.76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(74,222)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(45,112)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;201,795&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The share-based compensation cost expensed for RSUs for the years ended December&#160;31, 2022, 2021, and 2020 (before tax benefits) was $3.8 million, $4.1 million, and $2.6 million respectively, and is included in selling, general and administrative expenses on the consolidated income statements. At December&#160;31, 2022, total unrecognized compensation cost (before tax benefits) related to RSUs of $5.7 million is expected to be recognized over a weighted average period of 1.6 years. The total fair value of RSUs vested for the years ended December&#160;31, 2022, 2021, and 2020 was $3.5 million, $4.2 million, and $2.3 million, respectively. The tax benefit realized from vested RSUs for the years ended December&#160;31, 2022, 2021, and 2020 was $0.8 million, $1 million, and $0.5 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We granted performance stock awards (&#x201c;PSUs&#x201d;) to certain key employees of 111,654, 182,886, and 159,136 PSUs during the years ended December&#160;31, 2022, 2021, and 2020, respectively, with weighted-average grant date fair values of $48.18, $49.76, and $29.65 per share, respectively. PSU awards are subject to the attainment of performance goals established by the Compensation Committee, the periods during which performance is to be measured, and all other limitations and conditions applicable to the awarded shares. Performance goals are based on a pre-established objective formula that specifies the manner of determining the number of PSUs that will be granted if performance goals are attained. If an employee terminates employment, their non-vested portion of the PSUs will not vest and all rights to the non-vested portion will terminate. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Performance stock activity for the year ended December&#160;31, 2022 was as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:76.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.459%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Number of Performance Stock Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Grant &lt;br/&gt;Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at January 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;299,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(89,309)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,554)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45.61&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;301,354&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The share-based compensation cost expensed for PSUs for the years ended December&#160;31, 2022, 2021, and 2020 (before tax benefits) was $5.1 million, $5.9 million and $4.9 million, respectively, and is included in selling, general and administrative expenses on the consolidated income statements. At December&#160;31, 2022, total unrecognized compensation cost (before tax benefits) related to PSUs of $5.5 million is expected to be recognized over a weighted-average period of 1.4 years. The total fair value of PSUs vested during the years ended December&#160;31, 2022, 2021, and 2020, was $4.4 million, $9.6 million, and $3.7 &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;million, respectively. The tax benefit realized from PSUs for the years ended December&#160;31, 2022, 2021, and 2020 were $1.1 million, $2.3 million, and $0.9 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance-Based With Market Condition Cash Settled Long-Term Incentive Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As permitted under the 2020 Plan, performance-based with market condition cash settled long-term incentive awards (&#x201c;Performance-Based Cash LTIPs&#x201d;) were granted in 2022. Performance-Based Cash LTIPs will be settled in cash and are subject to the attainment of performance goals established by the Compensation Committee (including achievement of relative total shareholder return market condition), the periods during which performance is to be measured, and all other limitations and conditions applicable to the Performance-Based Cash LTIPs&#x2019; values. Performance goals are based on a pre-established objective formula that specifies the manner of determining the value of the Performance-Based Cash LTIPs that will be issued if performance goals are attained. If an employee terminates employment, their non-vested portion of the Performance-Based Cash LTIPs will not vest and all rights to the non-vested portion of the Performance-Based Cash LTIPs will terminate. The Compensation Committee administers the Performance-Based Cash LTIPs. The share-based compensation expense recorded for the Performance-Based Cash LTIPs for the years ended December&#160;31, 2022, 2021, and 2020 (before tax benefits) was $1.2 million, zero, and zero, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <dco:SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofIncentivePlans
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzky_870c789a-91c2-4f04-8f87-63bec767fab2"
      unitRef="plan">2</dco:SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofIncentivePlans>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i94b23eb1b8024f4d9c01101b7a52efc6_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzkzNA_eea384fa-a34d-4034-b432-e5c968d8f148"
      unitRef="shares">1031162</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i94b23eb1b8024f4d9c01101b7a52efc6_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzExNTY_fb594351-d766-44f4-b883-7bdc20e65fa3"
      unitRef="shares">338061</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i3a5749ee9cf742ada41c2945bf1c86dd_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzE0OTQ_f12ddfb2-c1af-44cf-87ee-d968980b5e64"
      unitRef="shares">750000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate
      contextRef="i30ddf8a352324384b6982dbd0a355b45_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzE2NzY_2b8e4710-33eb-4f52-8567-dca4c5c86244"
      unitRef="number">0.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate>
    <dco:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod
      contextRef="i30ddf8a352324384b6982dbd0a355b45_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgzMzM_edabdb75-c36c-4a7b-85ab-199b604aef3f">P6M</dco:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod>
    <dco:SharebasedCompensationArrangementbySharebasedPaymentAwardMaximumPercentageofEmployeeCompensationforPurchaseofCommonStock
      contextRef="i30ddf8a352324384b6982dbd0a355b45_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzE5NTI_82faa950-74b8-4b2f-b6f3-7ecf733f13b9"
      unitRef="number">0.10</dco:SharebasedCompensationArrangementbySharebasedPaymentAwardMaximumPercentageofEmployeeCompensationforPurchaseofCommonStock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i3a5749ee9cf742ada41c2945bf1c86dd_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzIwNzg_34e11658-b7ea-4365-a0b1-a30486e812dd"
      unitRef="shares">549977</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i31fec937ef024f54b598868cb14caf7e_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzIyMzQ_06d4eaa6-538c-4939-a46b-378c419bcf2d"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i8c41286c6e7f4b5e927e6e2dab757117_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzIyMzg_e3377695-c343-4a3f-9b46-0450e2935442"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i01a85367327443ad88e4e6e85957be36_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzIyNDY_5d6fc89b-f263-4deb-a74e-0e564e466161"
      unitRef="shares">8000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i31fec937ef024f54b598868cb14caf7e_D20220101-20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzIzMTI_c78ce9b2-9df5-40a0-af3c-c1d37939fa65"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i8c41286c6e7f4b5e927e6e2dab757117_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzQzOTgwNDY1MzA0NTk_2d9fbe96-1f6f-4261-b464-1e63d08c0a79"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i01a85367327443ad88e4e6e85957be36_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzIzMjQ_e64a80cc-20e3-49da-b75c-138fff12476a"
      unitRef="usdPerShare">16.48</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="i31fec937ef024f54b598868cb14caf7e_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzI0ODc_d20bc958-873d-4171-924a-88bdd2184751">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i4e0f9b65fab64708a2b74d5775378a58_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzI1NzA_f90746a3-ab7b-40c8-a789-71850c81e4d2">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgzMjU_c58c0f3a-f6b7-40f4-95bc-dd3d18660b5a">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock option activity for the year ended December&#160;31, 2022 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.164%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.488%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.638%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Number&lt;br/&gt;of Stock Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price Per Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted-Average Remaining Contractual Life (Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Aggregate Intrinsic Value (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at January 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;317,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(109,186)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,150)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exerciseable at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzItMi0xLTEtMjMwMjg_9eaaf003-0358-4f3d-b12d-69d0735eb78d"
      unitRef="shares">317779</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzItNC0xLTEtMjMwMjg_91d7b99a-c367-46b0-9d57-53d2bdd2aec8"
      unitRef="usdPerShare">35.30</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzMtMi0xLTEtMjMwMjg_88c19258-9645-497c-b261-e0d2ae302f1e"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzMtNC0xLTEtMjMwMjg_e04b858d-552f-4d87-886e-e2f9e3c5860c"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzQtMi0xLTEtMjMwMjg_a561f880-a9ae-4869-b0f5-cfa4fe412cad"
      unitRef="shares">109186</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzQtNC0xLTEtMjMwMjg_45308059-e66e-45e0-a601-5ee966a8f142"
      unitRef="usdPerShare">31.82</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzUtMi0xLTEtMjMwMjg_08f7d05f-07c5-406a-a30a-18924e33c74a"
      unitRef="shares">2150</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzUtNC0xLTEtMjMwMjg_efe5221a-65fa-4f30-9c8e-387d5642fe63"
      unitRef="usdPerShare">39.75</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzYtMi0xLTEtMjMwMjg_a862be54-6165-4b7c-bdeb-68f2644c9b87"
      unitRef="shares">7167</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzYtNC0xLTEtMjMwMjg_6c320fad-b3e7-4ae4-b953-df8bea32d21c"
      unitRef="usdPerShare">42.88</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzctMi0xLTEtMjMwMjg_c296f43f-fd34-4590-9ec9-715abce56b55"
      unitRef="shares">199276</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzctNC0xLTEtMjMwMjg_57261b51-4729-4c41-a152-e493e4dcd162"
      unitRef="usdPerShare">36.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzctNi0xLTEtMjMwMjg_fbc3cea4-c4ca-4202-9ee2-a50aa739594e">P5Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzctOC0xLTEtMjMwMjg_2550e4fe-7f71-47cb-a04f-8362e2867e5f"
      unitRef="usd">2537000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzgtMi0xLTEtMjMwMjg_0166eb3f-7d4b-40b3-a93b-d73375436636"
      unitRef="shares">199276</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzgtNC0xLTEtMjMwMjg_74684ee2-5081-43bc-919f-61c7051aef1c"
      unitRef="usdPerShare">36.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzgtNi0xLTEtMjMwMjg_015beeef-32d9-4abf-b6cf-d0eeee9a8941">P5Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZToxMjEyMjQxMDliYWE0ZGQ5YmVkNzMwZmRjMDhjMjE4Ny90YWJsZXJhbmdlOjEyMTIyNDEwOWJhYTRkZDliZWQ3MzBmZGMwOGMyMTg3XzgtOC0xLTEtMjMwMjg_754ab3f1-c836-4f50-b0f8-8a2d03ec5311"
      unitRef="usd">2537000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgzNDk_5c41af14-f44a-4a62-907d-4894d0529d04">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in nonvested stock options for the year ended December&#160;31, 2022 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:76.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.459%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Number of Stock Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Grant &lt;br/&gt;Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested at January 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.93&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(52,438)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo5ODk4N2E2MTU2YzY0NDE5YmZmODYzM2M1Y2E3MjU5ZC90YWJsZXJhbmdlOjk4OTg3YTYxNTZjNjQ0MTliZmY4NjMzYzVjYTcyNTlkXzEtMi0xLTEtMjMwMjg_d016f5dd-343a-4650-bf52-f634adb8ab49"
      unitRef="shares">59605</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo5ODk4N2E2MTU2YzY0NDE5YmZmODYzM2M1Y2E3MjU5ZC90YWJsZXJhbmdlOjk4OTg3YTYxNTZjNjQ0MTliZmY4NjMzYzVjYTcyNTlkXzEtNC0xLTEtMjMwMjg_f0cfc80b-cbd8-4cae-b206-25a35410017f"
      unitRef="usdPerShare">15.93</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo5ODk4N2E2MTU2YzY0NDE5YmZmODYzM2M1Y2E3MjU5ZC90YWJsZXJhbmdlOjk4OTg3YTYxNTZjNjQ0MTliZmY4NjMzYzVjYTcyNTlkXzItMi0xLTEtMjMwMjg_b0f48853-b228-436d-b2cd-0b5028d34404"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo5ODk4N2E2MTU2YzY0NDE5YmZmODYzM2M1Y2E3MjU5ZC90YWJsZXJhbmdlOjk4OTg3YTYxNTZjNjQ0MTliZmY4NjMzYzVjYTcyNTlkXzItNC0xLTEtMjMwMjg_5b20df14-3853-4dd8-a010-d48a30f07003"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo5ODk4N2E2MTU2YzY0NDE5YmZmODYzM2M1Y2E3MjU5ZC90YWJsZXJhbmdlOjk4OTg3YTYxNTZjNjQ0MTliZmY4NjMzYzVjYTcyNTlkXzMtMi0xLTEtMjMwMjg_600bf5d0-fa74-4b7a-8080-dc25736f4814"
      unitRef="shares">52438</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo5ODk4N2E2MTU2YzY0NDE5YmZmODYzM2M1Y2E3MjU5ZC90YWJsZXJhbmdlOjk4OTg3YTYxNTZjNjQ0MTliZmY4NjMzYzVjYTcyNTlkXzMtNC0xLTEtMjMwMjg_dc405502-6d17-47dd-a6df-9a8f4e66326e"
      unitRef="usdPerShare">15.90</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo5ODk4N2E2MTU2YzY0NDE5YmZmODYzM2M1Y2E3MjU5ZC90YWJsZXJhbmdlOjk4OTg3YTYxNTZjNjQ0MTliZmY4NjMzYzVjYTcyNTlkXzQtMi0xLTEtMjMwMjg_04307083-bf16-4754-bf27-951812a8d246"
      unitRef="shares">7167</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo5ODk4N2E2MTU2YzY0NDE5YmZmODYzM2M1Y2E3MjU5ZC90YWJsZXJhbmdlOjk4OTg3YTYxNTZjNjQ0MTliZmY4NjMzYzVjYTcyNTlkXzQtNC0xLTEtMjMwMjg_26f196f5-c535-4102-bf35-3c9bbb50c957"
      unitRef="usdPerShare">16.10</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo5ODk4N2E2MTU2YzY0NDE5YmZmODYzM2M1Y2E3MjU5ZC90YWJsZXJhbmdlOjk4OTg3YTYxNTZjNjQ0MTliZmY4NjMzYzVjYTcyNTlkXzUtMi0xLTEtMjMwMjg_bb15e1fa-f0be-45fc-8fd6-92fea8bf5205"
      unitRef="shares">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo5ODk4N2E2MTU2YzY0NDE5YmZmODYzM2M1Y2E3MjU5ZC90YWJsZXJhbmdlOjk4OTg3YTYxNTZjNjQ0MTliZmY4NjMzYzVjYTcyNTlkXzUtNC0xLTEtMjMwMjg_90360896-4c03-4af1-be60-aa95d7b15a0b"
      unitRef="usdPerShare">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i31fec937ef024f54b598868cb14caf7e_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzMyNjM_34208411-2ec5-4202-9157-dc7d6ad3f883"
      unitRef="usd">2000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i8c41286c6e7f4b5e927e6e2dab757117_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzMyNjc_aab3d634-3bbe-4a3a-a2e5-0b6621c750c8"
      unitRef="usd">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i01a85367327443ad88e4e6e85957be36_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzMyNzU_79d6e8c9-824b-4145-9664-b0ff3f148863"
      unitRef="usd">900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <dco:ProceedsFromExerciseOfStockOptionsAndOtherStockIssuances
      contextRef="i31fec937ef024f54b598868cb14caf7e_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzMzNzQ_ceb5bf63-e9fa-4420-b6de-d16b6f0b77ea"
      unitRef="usd">3500000</dco:ProceedsFromExerciseOfStockOptionsAndOtherStockIssuances>
    <dco:ProceedsFromExerciseOfStockOptionsAndOtherStockIssuances
      contextRef="i8c41286c6e7f4b5e927e6e2dab757117_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzMzNzg_c65e8fce-a4e5-4b06-aaa9-fd05e67047b7"
      unitRef="usd">1700000</dco:ProceedsFromExerciseOfStockOptionsAndOtherStockIssuances>
    <dco:ProceedsFromExerciseOfStockOptionsAndOtherStockIssuances
      contextRef="i01a85367327443ad88e4e6e85957be36_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzMzODY_547c752a-c246-4d5b-9291-4d9f5a481447"
      unitRef="usd">1600000</dco:ProceedsFromExerciseOfStockOptionsAndOtherStockIssuances>
    <dco:TaxBenefitForExerciseOfStockOptionsAndIssuanceOfSharesUponVestingOfRestrictedStockGrants
      contextRef="i31fec937ef024f54b598868cb14caf7e_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzM0MzM_2a90ee32-99b4-4b17-80fc-a5a51cd3ba70"
      unitRef="usd">800000</dco:TaxBenefitForExerciseOfStockOptionsAndIssuanceOfSharesUponVestingOfRestrictedStockGrants>
    <dco:TaxBenefitForExerciseOfStockOptionsAndIssuanceOfSharesUponVestingOfRestrictedStockGrants
      contextRef="i8c41286c6e7f4b5e927e6e2dab757117_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzM0Mzc_da66bba7-6cf6-48ca-b140-eb4dc0b182a1"
      unitRef="usd">400000</dco:TaxBenefitForExerciseOfStockOptionsAndIssuanceOfSharesUponVestingOfRestrictedStockGrants>
    <dco:TaxBenefitForExerciseOfStockOptionsAndIssuanceOfSharesUponVestingOfRestrictedStockGrants
      contextRef="i01a85367327443ad88e4e6e85957be36_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzM0NDU_f46d522d-2d7d-40f0-b223-44337ed9feaf"
      unitRef="usd">400000</dco:TaxBenefitForExerciseOfStockOptionsAndIssuanceOfSharesUponVestingOfRestrictedStockGrants>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
      contextRef="ia4afb9133b664b5aaf5dad7662902ce7_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzM1NDI_faf97733-4008-4539-b76c-f8cda5f61eee"
      unitRef="shares">199276</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="ia4afb9133b664b5aaf5dad7662902ce7_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzM1OTQ_fb9c71ab-d0d2-4f27-a16f-d2f806100ccc"
      unitRef="usdPerShare">36.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="ia4afb9133b664b5aaf5dad7662902ce7_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzM2MzM_a8fc3e75-1d07-41c3-b6a3-a09865f0845b"
      unitRef="usd">2500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i31fec937ef024f54b598868cb14caf7e_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzM3MTE_dc983d25-1908-4cac-9052-f42b03fa9415">P5Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i31fec937ef024f54b598868cb14caf7e_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzM4NDM_64fd100a-52ee-4bef-ab66-cccfe872d467"
      unitRef="usd">300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i8c41286c6e7f4b5e927e6e2dab757117_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzM4NDc_2c2fb0d1-a492-47f8-9efd-94feb378f5fe"
      unitRef="usd">1200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i01a85367327443ad88e4e6e85957be36_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzM4NTU_e806327d-f8c0-4113-a301-add1d5d33d94"
      unitRef="usd">1800000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="ia4afb9133b664b5aaf5dad7662902ce7_I20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzcxNDY4MjU2MDE0MzQ_5f5ae500-aede-4323-a8e8-1d61e9e8c1f6"
      unitRef="usd">0</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="i31fec937ef024f54b598868cb14caf7e_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzQyMzM_a789bf7c-b47d-4039-b5d7-21a47edab17e"
      unitRef="usd">800000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="i8c41286c6e7f4b5e927e6e2dab757117_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzQyMzc_1fc6c68d-8cb1-46ca-9f02-d649ebda627f"
      unitRef="usd">1700000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="i01a85367327443ad88e4e6e85957be36_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzQyNDU_42f93f33-ba7e-4290-a4fe-077ef5d1f162"
      unitRef="usd">2000000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:ScheduleOfAssumptionsUsedTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgzMTY_76876ceb-ef57-40c9-a609-6324af29fc6d">The assumptions used to compute the fair value of stock option grants under the 2020 Stock Incentive Plan for years ended December&#160;31, 2022, 2021, and 2020 were as follows:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.259%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.147%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividends&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in months)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;66&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average assumptions used to determine the net periodic benefit costs under the two plans were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.021%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Discount rate used to determine pension expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pension Plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.85%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.22%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;LaBarge Retirement Plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.35%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.85%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.85%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average assumptions used to determine the benefit obligations under the two plans were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.021%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Discount rate used to determine value of obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pension Plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.11%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.85%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.50%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;LaBarge Retirement Plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.00%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.35%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.85%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term rate of return - Pension Plan only&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.25%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.25%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.25%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAssumptionsUsedTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i01a85367327443ad88e4e6e85957be36_D20200101-20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTozNjUyODdlMDVmYWI0ZDM4YWY0MTQ5OGQzM2FiNDZhMi90YWJsZXJhbmdlOjM2NTI4N2UwNWZhYjRkMzhhZjQxNDk4ZDMzYWI0NmEyXzItNi0xLTEtMjMwMjg_8210b9af-85a0-40f3-8276-73ebcc1ff70a"
      unitRef="number">0.0159</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i01a85367327443ad88e4e6e85957be36_D20200101-20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTozNjUyODdlMDVmYWI0ZDM4YWY0MTQ5OGQzM2FiNDZhMi90YWJsZXJhbmdlOjM2NTI4N2UwNWZhYjRkMzhhZjQxNDk4ZDMzYWI0NmEyXzMtNi0xLTEtMjMwMjg_6f4ca0f6-e43b-4273-8894-94e193bb4c03"
      unitRef="number">0.3775</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments
      contextRef="i01a85367327443ad88e4e6e85957be36_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTozNjUyODdlMDVmYWI0ZDM4YWY0MTQ5OGQzM2FiNDZhMi90YWJsZXJhbmdlOjM2NTI4N2UwNWZhYjRkMzhhZjQxNDk4ZDMzYWI0NmEyXzQtNi0xLTEtMjMwMjg_166e8ab5-c8eb-4706-9628-e36a6f2c60be"
      unitRef="usd">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i01a85367327443ad88e4e6e85957be36_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTozNjUyODdlMDVmYWI0ZDM4YWY0MTQ5OGQzM2FiNDZhMi90YWJsZXJhbmdlOjM2NTI4N2UwNWZhYjRkMzhhZjQxNDk4ZDMzYWI0NmEyXzUtNi0xLTEtMjMwMjg_7cb02a25-e840-43e7-95be-f9488a30ac0e">P66M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i4e0f9b65fab64708a2b74d5775378a58_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzQ3OTE_f90746a3-ab7b-40c8-a789-71850c81e4d2">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzU0NjU_b6d7a16a-1432-4340-9422-577fa6307968"
      unitRef="shares">118847</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ie78c2b0199fd4738a29f9ac1bacd0cdb_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzU0Njk_7eb635fe-c335-4eb6-8a1a-809d5a25cc35"
      unitRef="shares">118995</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="id3fdef440b8d46fd9a8a8bde9059dfe9_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzU0Nzc_ff8c8665-c13d-4641-981e-b6dad180a158"
      unitRef="shares">118835</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzU2NTM_eb76a783-440a-4e9a-a454-cdb62a3f4ce4"
      unitRef="usdPerShare">51.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ie78c2b0199fd4738a29f9ac1bacd0cdb_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzU2NTc_8c56145a-3ca6-4fad-b3d6-24cedc3391bf"
      unitRef="usdPerShare">55.92</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="id3fdef440b8d46fd9a8a8bde9059dfe9_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzU2NjU_666e0cc6-b50b-45c9-98c6-734cc4a655d6"
      unitRef="usdPerShare">27.62</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgzMjc_53929aa4-db67-4737-9710-fb470a659bc6">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i60ec3b16fc704948b446e1569ff48a5e_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzU4NjU_9d2a8527-e03d-4bca-9b9b-851840d4f529"
      unitRef="number">0.333</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="id95fa9be3ec84cc3820282c115afa16c_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzU4Njk_8e9c8f22-2877-490f-94ef-ac8d88f77ab7"
      unitRef="number">0.333</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i8b21e652c01c4273aeac37b7f091f071_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzU4NzY_07e4a841-7dfe-4060-9411-d33e99ec3a30"
      unitRef="number">0.334</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgzMzU_8f42b4b0-dbf8-4cd0-823e-bdd61fd2bacf">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock unit activity for the year ended December&#160;31, 2022 was as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.405%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Number of Restricted Stock Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Grant &lt;br/&gt;Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at January 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;202,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44.85&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51.76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(74,222)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(45,112)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;201,795&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="if8ac67d0cf764176b5be1a546fade5ce_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo4NDBkMGFlNzBlYjM0MzIyOGNhNWM2MDczMzIwY2JhYy90YWJsZXJhbmdlOjg0MGQwYWU3MGViMzQzMjI4Y2E1YzYwNzMzMjBjYmFjXzEtMi0xLTEtMjMwMjg_6deb9230-2d65-4412-9303-ecae1ade9a5f"
      unitRef="shares">202282</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="if8ac67d0cf764176b5be1a546fade5ce_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo4NDBkMGFlNzBlYjM0MzIyOGNhNWM2MDczMzIwY2JhYy90YWJsZXJhbmdlOjg0MGQwYWU3MGViMzQzMjI4Y2E1YzYwNzMzMjBjYmFjXzEtNC0xLTEtMjMwMjg_87ae3951-9266-4828-809d-477fcb4d3eed"
      unitRef="usdPerShare">44.85</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo4NDBkMGFlNzBlYjM0MzIyOGNhNWM2MDczMzIwY2JhYy90YWJsZXJhbmdlOjg0MGQwYWU3MGViMzQzMjI4Y2E1YzYwNzMzMjBjYmFjXzItMi0xLTEtMjMwMjg_79c6003a-56d4-4157-ad06-783d6df62034"
      unitRef="shares">118847</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo4NDBkMGFlNzBlYjM0MzIyOGNhNWM2MDczMzIwY2JhYy90YWJsZXJhbmdlOjg0MGQwYWU3MGViMzQzMjI4Y2E1YzYwNzMzMjBjYmFjXzItNC0xLTEtMjMwMjg_cc03303f-15e3-4110-a84c-eb1f2c1fafc9"
      unitRef="usdPerShare">51.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo4NDBkMGFlNzBlYjM0MzIyOGNhNWM2MDczMzIwY2JhYy90YWJsZXJhbmdlOjg0MGQwYWU3MGViMzQzMjI4Y2E1YzYwNzMzMjBjYmFjXzMtMi0xLTEtMjMwMjg_32bddc8d-76e8-4f63-8406-ff56b59ea82c"
      unitRef="shares">74222</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo4NDBkMGFlNzBlYjM0MzIyOGNhNWM2MDczMzIwY2JhYy90YWJsZXJhbmdlOjg0MGQwYWU3MGViMzQzMjI4Y2E1YzYwNzMzMjBjYmFjXzMtNC0xLTEtMjMwMjg_56348905-567b-4613-8a96-c63ade9f2137"
      unitRef="usdPerShare">44.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo4NDBkMGFlNzBlYjM0MzIyOGNhNWM2MDczMzIwY2JhYy90YWJsZXJhbmdlOjg0MGQwYWU3MGViMzQzMjI4Y2E1YzYwNzMzMjBjYmFjXzQtMi0xLTEtMjMwMjg_24782cdc-41f8-445b-aa09-7067756df829"
      unitRef="shares">45112</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo4NDBkMGFlNzBlYjM0MzIyOGNhNWM2MDczMzIwY2JhYy90YWJsZXJhbmdlOjg0MGQwYWU3MGViMzQzMjI4Y2E1YzYwNzMzMjBjYmFjXzQtNC0xLTEtMjMwMjg_4492d65c-94d1-4274-a381-699a25bfc26d"
      unitRef="usdPerShare">50.72</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="icad3ae5b94004f2fa9dada49276d750a_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo4NDBkMGFlNzBlYjM0MzIyOGNhNWM2MDczMzIwY2JhYy90YWJsZXJhbmdlOjg0MGQwYWU3MGViMzQzMjI4Y2E1YzYwNzMzMjBjYmFjXzUtMi0xLTEtMjMwMjg_f36b2c23-1636-4ad9-8e82-80f387c1f855"
      unitRef="shares">201795</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="icad3ae5b94004f2fa9dada49276d750a_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTo4NDBkMGFlNzBlYjM0MzIyOGNhNWM2MDczMzIwY2JhYy90YWJsZXJhbmdlOjg0MGQwYWU3MGViMzQzMjI4Y2E1YzYwNzMzMjBjYmFjXzUtNC0xLTEtMjMwMjg_d2c7c9b0-c526-4379-8df0-057bcfa8d677"
      unitRef="usdPerShare">47.81</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzYyOTI_9036d933-74bf-4c97-9c6a-88620b97ce69"
      unitRef="usd">3800000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie78c2b0199fd4738a29f9ac1bacd0cdb_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzYyOTY_bc13b7ed-2cc6-4ef5-9146-ece51626e517"
      unitRef="usd">4100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id3fdef440b8d46fd9a8a8bde9059dfe9_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzYzMDQ_3d733e33-6f25-4754-8604-2780983109b6"
      unitRef="usd">2600000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="icad3ae5b94004f2fa9dada49276d750a_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzY1MDk_a7a4bce8-b7fd-4c31-a158-d4df1c6d850d"
      unitRef="usd">5700000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzY1NzU_baf3711a-e84d-4909-bc60-9c33314909d5">P1Y7M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzY2NjA_f9280c1b-9dbb-4a56-95c4-f9ce99069c42"
      unitRef="usd">3500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="ie78c2b0199fd4738a29f9ac1bacd0cdb_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzY2NjQ_524b75d1-92ec-48f9-a41c-ecd629b56006"
      unitRef="usd">4200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="id3fdef440b8d46fd9a8a8bde9059dfe9_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzY2NzI_084b278d-14ec-41e4-a6ca-75e77683cef7"
      unitRef="usd">2300000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i95787af29b8a43509d62317572c0f292_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzY3NzE_3aa40fef-ee34-42ca-83b7-cf1a983dc8f9"
      unitRef="usd">800000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="ie78c2b0199fd4738a29f9ac1bacd0cdb_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzY3NzU_6e646610-fb97-4f7a-87e9-f55c86b3982f"
      unitRef="usd">1000000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="id3fdef440b8d46fd9a8a8bde9059dfe9_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzY3ODM_1940c567-75b7-4ea2-84c5-7b2cde664c97"
      unitRef="usd">500000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzY4OTg_733a6fbc-d296-4293-b8be-a2f4774c49b1"
      unitRef="shares">111654</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i123c20881f6946dd935902860d51c105_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzY5MDI_dd2d00b1-1fb7-40e7-860f-9d095484d582"
      unitRef="shares">182886</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i534490f360764011ba62523d4c108ae5_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzY5MTA_a7043f7d-03fa-4bf2-af1e-a55140e9b803"
      unitRef="shares">159136</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzcwMTk_80e8727d-cad1-4df7-acfa-bbf32d77526f"
      unitRef="usdPerShare">48.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i123c20881f6946dd935902860d51c105_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzcwMjM_afdad437-1837-4d64-9f67-9a7f59b49b35"
      unitRef="usdPerShare">49.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i534490f360764011ba62523d4c108ae5_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzcwMzE_1d6f58c5-a0a8-41a4-ba3e-313c7c57bb9a"
      unitRef="usdPerShare">29.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgzNTE_8a2c5e81-1c31-4c6c-909a-41978ea7efe1">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Performance stock activity for the year ended December&#160;31, 2022 was as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:76.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.459%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Number of Performance Stock Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Grant &lt;br/&gt;Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at January 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;299,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(89,309)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,554)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45.61&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;301,354&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i35f15872977947d695bc745b3735fddd_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTpiMGU2YTRjMTI2NjE0ZTAwYTQ0ZDVjMzA0YzAzYzI3NS90YWJsZXJhbmdlOmIwZTZhNGMxMjY2MTRlMDBhNDRkNWMzMDRjMDNjMjc1XzEtMi0xLTEtMjMwMjg_3c0951a0-177a-4304-a96c-c84738bac123"
      unitRef="shares">299563</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i35f15872977947d695bc745b3735fddd_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTpiMGU2YTRjMTI2NjE0ZTAwYTQ0ZDVjMzA0YzAzYzI3NS90YWJsZXJhbmdlOmIwZTZhNGMxMjY2MTRlMDBhNDRkNWMzMDRjMDNjMjc1XzEtNC0xLTEtMjMwMjg_a8d288e6-893b-4f65-95c8-f67e6638cd24"
      unitRef="usdPerShare">41.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTpiMGU2YTRjMTI2NjE0ZTAwYTQ0ZDVjMzA0YzAzYzI3NS90YWJsZXJhbmdlOmIwZTZhNGMxMjY2MTRlMDBhNDRkNWMzMDRjMDNjMjc1XzItMi0xLTEtMjMwMjg_4993c6c4-6985-4c3b-b4ae-5896955c4b96"
      unitRef="shares">111654</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTpiMGU2YTRjMTI2NjE0ZTAwYTQ0ZDVjMzA0YzAzYzI3NS90YWJsZXJhbmdlOmIwZTZhNGMxMjY2MTRlMDBhNDRkNWMzMDRjMDNjMjc1XzItNC0xLTEtMjMwMjg_79d993e0-0eef-4e63-8035-4546c2245d57"
      unitRef="usdPerShare">48.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTpiMGU2YTRjMTI2NjE0ZTAwYTQ0ZDVjMzA0YzAzYzI3NS90YWJsZXJhbmdlOmIwZTZhNGMxMjY2MTRlMDBhNDRkNWMzMDRjMDNjMjc1XzQtMi0xLTEtMjMwMjg_f6245c8c-0ab1-450f-8c2b-9d8370300cc2"
      unitRef="shares">89309</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTpiMGU2YTRjMTI2NjE0ZTAwYTQ0ZDVjMzA0YzAzYzI3NS90YWJsZXJhbmdlOmIwZTZhNGMxMjY2MTRlMDBhNDRkNWMzMDRjMDNjMjc1XzQtNC0xLTEtMjMwMjg_cff4c4df-2789-4f9c-8b4d-60c461969c55"
      unitRef="usdPerShare">44.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTpiMGU2YTRjMTI2NjE0ZTAwYTQ0ZDVjMzA0YzAzYzI3NS90YWJsZXJhbmdlOmIwZTZhNGMxMjY2MTRlMDBhNDRkNWMzMDRjMDNjMjc1XzUtMi0xLTEtMjMwMjg_80df7e87-75e3-4d84-941f-0258fc4b1911"
      unitRef="shares">20554</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTpiMGU2YTRjMTI2NjE0ZTAwYTQ0ZDVjMzA0YzAzYzI3NS90YWJsZXJhbmdlOmIwZTZhNGMxMjY2MTRlMDBhNDRkNWMzMDRjMDNjMjc1XzUtNC0xLTEtMjMwMjg_e8c7f6c0-8a9d-4e81-85b5-decf917f1eaa"
      unitRef="usdPerShare">45.61</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ibe9e45183b894de3ae15b5758de7b33d_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTpiMGU2YTRjMTI2NjE0ZTAwYTQ0ZDVjMzA0YzAzYzI3NS90YWJsZXJhbmdlOmIwZTZhNGMxMjY2MTRlMDBhNDRkNWMzMDRjMDNjMjc1XzYtMi0xLTEtMjMwMjg_1171122a-48ad-4ae5-83f0-ee39abb78f19"
      unitRef="shares">301354</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ibe9e45183b894de3ae15b5758de7b33d_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90YWJsZTpiMGU2YTRjMTI2NjE0ZTAwYTQ0ZDVjMzA0YzAzYzI3NS90YWJsZXJhbmdlOmIwZTZhNGMxMjY2MTRlMDBhNDRkNWMzMDRjMDNjMjc1XzYtNC0xLTEtMjMwMjg_d484f690-147e-4b1d-9225-7d8b74e4bfca"
      unitRef="usdPerShare">42.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzc4MDY_8b8734ab-2b54-4262-9486-edc714c51fcd"
      unitRef="usd">5100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i123c20881f6946dd935902860d51c105_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzc4MTA_06d0b445-9030-4bcd-a3f6-bda035ac59a7"
      unitRef="usd">5900000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i534490f360764011ba62523d4c108ae5_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzc4MTc_45fd1f15-571f-4a61-8dd8-1442b076b426"
      unitRef="usd">4900000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="ibe9e45183b894de3ae15b5758de7b33d_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgwMjM_f1226de0-8f4b-4d12-bbab-79af1b996a55"
      unitRef="usd">5500000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgwODk_a6f0075a-a846-49cc-83b4-63a0aa3a78ce">P1Y4M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgxNzg_29970c26-8005-46e6-9dc7-4e7c9d0244ee"
      unitRef="usd">4400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i123c20881f6946dd935902860d51c105_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgxODI_56a83995-232d-4b7c-9af1-a49c67a222ff"
      unitRef="usd">9600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i534490f360764011ba62523d4c108ae5_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgxOTA_9ba78ea5-d077-4621-a5b4-606e684ddb85"
      unitRef="usd">3700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i1de83bfbf62a4a458218639837e72c76_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgyODM_717646f7-1973-4992-acc8-044a634aa9cf"
      unitRef="usd">1100000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i123c20881f6946dd935902860d51c105_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgyODc_ca1dda99-e0f8-4fc6-8717-0f80580a7ead"
      unitRef="usd">2300000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i534490f360764011ba62523d4c108ae5_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzgyOTU_5c7446d7-b545-472b-93bc-e272bf3b4ec3"
      unitRef="usd">900000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ica8e4dc6bdf740d28bdff813129f1fdb_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzQzOTgwNDY1MjU5Nzc_a61e1ca1-0db0-4b62-bce6-5f07a343fb11"
      unitRef="usd">1200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i209adf13c01c4d68b1a612d4288e90c3_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzQzOTgwNDY1MjU5ODI_94192312-8663-4fb3-89b7-e70b786e68cb"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i19ea0b515b274578b39837f9584a51f8_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTQvZnJhZzpkMTEyZWY0NmQxZTM0YmMxYTIxYzMyYWVmODRhMDUwYS90ZXh0cmVnaW9uOmQxMTJlZjQ2ZDFlMzRiYzFhMjFjMzJhZWY4NGEwNTBhXzQzOTgwNDY1MjU5OTE_bf8e803a-c820-4b5c-8f8e-0bebb208a65f"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzcwNjM_1b0fc928-c17b-404c-92bf-85030bdc947d">Employee Benefit Plans&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Defined Contribution 401(k) Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We sponsor a 401(k) defined contribution plan for all our employees. The plan allows the employees to make annual voluntary contributions not to exceed the lesser of an amount equal to 25% of their compensation or limits established by the Internal Revenue Code. Under this plan, we generally provide a match equal to 50% of the employee&#x2019;s contributions up to the first 6% of compensation, except for union employees who are not eligible to receive the match. Our provision for matching and profit sharing contributions for the three years ended December&#160;31, 2022, 2021, and 2020 was $2.9 million, $2.8 million, and $2.6 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Pension Plan and LaBarge Retirement Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have a defined benefit pension plan covering certain hourly employees of a subsidiary (the &#x201c;Pension Plan&#x201d;). Pension Plan benefits are generally determined on the basis of the retiree&#x2019;s age and length of service. Assets of the Pension Plan are composed primarily of fixed income and equity securities. We also have a retirement plan covering certain current and retired employees (the &#x201c;LaBarge Retirement Plan&#x201d;). &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The consolidation of one of our performance centers as part of the 2022 Restructuring Plan as discussed in Note 2 resulted in the curtailment of the Pension Plan during the fourth quarter of 2022, but it had an immaterial impact on our consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of net periodic pension cost for the Pension Plan and LaBarge Retirement Plan in aggregate are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.672%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.440%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtMC0xLTEtNTQyOTM_21cfa342-c8fd-44b1-a1c3-ff0fe0c96eae"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtMC0xLTEtNTQyOTM_9968fc03-2ed1-4533-a40f-3542b61ed49c"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtMC0xLTEtNTQyOTM_e9c01a5b-723c-486a-a531-4eadc5ce9639"&gt;Interest cost&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,209&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtMC0xLTEtMjMwMjg_0d855ffa-7ee0-4dc6-9a4c-e534aeaa91b6"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtMC0xLTEtMjMwMjg_2a1293ed-5aa6-4d62-a0ec-dc7817d3d41e"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtMC0xLTEtMjMwMjg_2edf620b-790e-4c0c-a555-7100e89a8b1b"&gt;Expected return on plan assets&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,081)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,895)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,761)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtMC0xLTEtMjMwMjg_807f72ae-e268-494a-8754-d776bb35e8de"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtMC0xLTEtMjMwMjg_92300447-f04b-49aa-9a5e-0ea2a91eaec6"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtMC0xLTEtMjMwMjg_bf54d7ad-842d-4728-ae39-a85c05fa2201"&gt;Amortization of actuarial losses&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,063&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the reclassifications of net actuarial losses from accumulated other comprehensive loss to net income for 2022 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.943%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.124%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of actuarial loss - total before tax &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(143)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net of tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;The amortization expense is included in the computation of periodic pension cost and is a decrease to net income upon reclassification from accumulated other comprehensive loss.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The estimated net actuarial loss for both plans that will be amortized from accumulated other comprehensive loss into net periodic cost during 2023 is $0.6 million.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The obligations, fair value of plan assets, and funded status of both plans are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.324%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Change in benefit obligation&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning benefit obligation (January 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,804&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Actuarial gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,714)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,537)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefits paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,468)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,148)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending benefit obligation (December 31)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Change in plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning fair value of plan assets (January 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Return on assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,652)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Employer contribution&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefits paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,468)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,151)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending fair value of plan assets (December 31)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Funded status underfunded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,057)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,107)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Amounts recognized in the consolidated balance sheet&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Unrecognized loss included in accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning unrecognized loss, before tax (January 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(582)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,282)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Liability gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,714)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,537)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset loss (gain)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,228)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending unrecognized loss, before tax (December 31)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax impact&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(970)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,827)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized loss included in accumulated other comprehensive loss, net of tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Projected benefit obligation equals the accumulated benefit obligation for the plans.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December&#160;31, 2022, our annual measurement date, the accumulated benefit obligation exceeded the fair value of the plans assets by $1.1 million. Such excess is referred to as an unfunded accumulated benefit obligation. We recorded an unrecognized loss included in accumulated other comprehensive loss, net of tax at December&#160;31, 2022 and 2021 of $3.0 million and $5.7 million, respectively, which decreased shareholders&#x2019; equity. This charge to shareholders&#x2019; equity represents a net loss not yet recognized as pension expense. This charge did not affect reported earnings, and would be decreased or be eliminated if either interest rates increase or market performance and plan returns improve which will cause the Pension Plan to return to fully funded status.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our Pension Plan asset allocations at December&#160;31, 2022 and 2021, by asset category, were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.980%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.982%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equity securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:20.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Our overall investment strategy is to achieve an asset allocation within the following ranges to achieve an appropriate rate of return relative to risk.&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.859%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.298%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.502%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0-10%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed income securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15-75%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30-80%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pension Plan assets consist primarily of listed stocks and bonds and do not include any of the Company&#x2019;s securities. The return on assets assumption reflects the average rate of return expected on funds invested or to be invested to provide for the benefits included in the projected benefit obligation. We select the return on asset assumption by considering our current and target asset allocation. We consider information from various external investment managers, forward-looking information regarding expected returns by asset class and our own judgment when determining the expected returns.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.950%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.289%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.436%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.436%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.441%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Year Ended December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed income securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equities&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,591&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,591&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,033&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,033&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total plan assets at fair value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pooled funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,956&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total fair value of plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.675%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.678%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Year Ended December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;414&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;414&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed income securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equities&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total plan assets at fair value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pooled funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total fair value of plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Represents mutual funds and commingled accounts which invest primarily in equities, but may also hold fixed income securities, cash and other investments. Commingled funds with publicly quoted prices and actively traded are classified as Level 1 investments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pooled funds are measured using the net asset value (&#x201c;NAV&#x201d;) as a practical expedient for fair value as permissible under the accounting standard for fair value measurements and have not been categorized in the fair value hierarchy in accordance with ASU 2015-07, &#x201c;Fair Value Measurement (Topic 820):  Disclosures for Investments in Certain Entities That Calculate Net Asset Value per Share (or Its Equivalent).&#x201d; Pooled fund NAVs are provided by the trustee and are determined by reference to the fair value of the underlying securities of the trust, less its liabilities, which are valued primarily through the use of directly or indirectly observable inputs. Depending on the pooled fund, underlying securities may include marketable equity securities or fixed income securities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The assumptions used to determine the benefit obligations and expense for our two plans are presented in the tables below. The expected long-term return on assets, noted below, represents an estimate of long-term returns on investment portfolios consisting of a mixture of fixed income and equity securities. The estimated cash flows from the plans for all future years are determined based on the plans&#x2019; population at the measurement date. We used the expected benefit payouts from the plans for each year into the future and discounted them back to the present using the Wells Fargo yield curve rate for that duration.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average assumptions used to determine the net periodic benefit costs under the two plans were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.021%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Discount rate used to determine pension expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pension Plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.85%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.22%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;LaBarge Retirement Plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.35%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.85%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.85%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average assumptions used to determine the benefit obligations under the two plans were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.021%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Discount rate used to determine value of obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pension Plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.11%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.85%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.50%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;LaBarge Retirement Plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.00%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.35%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.85%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term rate of return - Pension Plan only&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.25%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.25%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.25%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following benefit payments under both plans, which reflect expected future service, as appropriate, are expected to be paid:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.442%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.470%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Pension&#160;Plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;LaBarge&lt;br/&gt;Retirement&lt;br/&gt;Plan&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,555&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028 - 2032&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our funding policy is to contribute cash to our plans so that the minimum contribution requirements established by government funding and taxing authorities are met. We expect to make contributions of $0.8 million to the plans in 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Supplemental Retirement Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have three unfunded supplemental retirement plans. The first plan was suspended in 1986, but continues to cover certain former executives. The second plan was suspended in 1997, but continues to cover certain current and retired directors. The third plan covers certain current and retired employees and further employee contributions to this plan were suspended on August&#160;5, 2011. The liability for the third plan and interest thereon is included in accrued employee compensation and long-term liabilities were both zero at December&#160;31, 2022, and both zero at December&#160;31, 2021. The accumulated benefit obligations of the first two plans at December&#160;31, 2022 and December&#160;31, 2021 were both $0.3 million, and are included in accrued liabilities.&lt;/span&gt;&lt;/div&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="i567dba380345413db110e5d5039d80e6_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzkyMQ_22971c06-e7b1-4234-b7b5-061908c1a47b"
      unitRef="number">0.25</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <dco:DefinedContributionPlanEmployerMatchingPercentOfEmployeeContribution
      contextRef="i567dba380345413db110e5d5039d80e6_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzEwNTM_c1cc4ef3-17ba-4288-8274-1b36ee34768f"
      unitRef="number">0.50</dco:DefinedContributionPlanEmployerMatchingPercentOfEmployeeContribution>
    <dco:DefinedContributionPlanEmployeeContributionsPercentageOfEligibleCompensation
      contextRef="i567dba380345413db110e5d5039d80e6_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzExMDQ_6c7dc94b-ba6d-4a44-9026-1d86244c64c4"
      unitRef="number">0.06</dco:DefinedContributionPlanEmployeeContributionsPercentageOfEligibleCompensation>
    <dco:DefinedContributionPlanProvisionforMatchingandProfitSharingContributions
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzEyOTk_f82aa032-bbfa-4ed2-be38-895d41208f06"
      unitRef="usd">2900000</dco:DefinedContributionPlanProvisionforMatchingandProfitSharingContributions>
    <dco:DefinedContributionPlanProvisionforMatchingandProfitSharingContributions
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzEzMDM_5a3b8d89-317b-4bc3-8858-9225c04bdc07"
      unitRef="usd">2800000</dco:DefinedContributionPlanProvisionforMatchingandProfitSharingContributions>
    <dco:DefinedContributionPlanProvisionforMatchingandProfitSharingContributions
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzEzMTE_4b9c2c22-0d5c-407b-a687-59a729c67794"
      unitRef="usd">2600000</dco:DefinedContributionPlanProvisionforMatchingandProfitSharingContributions>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzcwNDA_e8d521ab-1c2b-4827-b392-908565661069">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of net periodic pension cost for the Pension Plan and LaBarge Retirement Plan in aggregate are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.672%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.440%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtMC0xLTEtNTQyOTM_21cfa342-c8fd-44b1-a1c3-ff0fe0c96eae"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtMC0xLTEtNTQyOTM_9968fc03-2ed1-4533-a40f-3542b61ed49c"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtMC0xLTEtNTQyOTM_e9c01a5b-723c-486a-a531-4eadc5ce9639"&gt;Interest cost&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,209&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtMC0xLTEtMjMwMjg_0d855ffa-7ee0-4dc6-9a4c-e534aeaa91b6"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtMC0xLTEtMjMwMjg_2a1293ed-5aa6-4d62-a0ec-dc7817d3d41e"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtMC0xLTEtMjMwMjg_2edf620b-790e-4c0c-a555-7100e89a8b1b"&gt;Expected return on plan assets&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,081)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,895)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,761)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtMC0xLTEtMjMwMjg_807f72ae-e268-494a-8754-d776bb35e8de"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtMC0xLTEtMjMwMjg_92300447-f04b-49aa-9a5e-0ea2a91eaec6"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtMC0xLTEtMjMwMjg_bf54d7ad-842d-4728-ae39-a85c05fa2201"&gt;Amortization of actuarial losses&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,063&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzItMi0xLTEtMjMwMjg_435d3027-bc10-4939-b92b-20d5508a13f4"
      unitRef="usd">625000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzItNC0xLTEtMjMwMjg_11cb50a0-dc0d-4ff3-9649-759f8f4edb07"
      unitRef="usd">676000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzItNi0xLTEtMjMwMjg_87c7ebb4-592a-4691-85c7-dcd495023774"
      unitRef="usd">622000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtMi0xLTEtMjMwMjg_e7a13335-8374-40d3-b398-f7075a805dff"
      unitRef="usd">1089000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtNC0xLTEtMjMwMjg_c06d5f75-3344-482d-8e8c-614ac54e610a"
      unitRef="usd">1010000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzMtNi0xLTEtMjMwMjg_d9b58066-11a3-475f-ac7b-86c2d4347681"
      unitRef="usd">1209000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtMi0xLTEtMjMwMjg_8b151fa5-7c13-4164-a141-598e279423a8"
      unitRef="usd">2081000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtNC0xLTEtMjMwMjg_13f6df8b-3534-4f1b-9abf-581c98c7b6d3"
      unitRef="usd">1895000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzQtNi0xLTEtMjMwMjg_306071c5-4a61-445f-a483-fe045f5d4220"
      unitRef="usd">1761000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtMi0xLTEtMjMwMjg_10359646-55cf-48d9-8453-4c8c6cbe32b8"
      unitRef="usd">-585000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtNC0xLTEtMjMwMjg_f0bec639-dff2-4450-927d-cc7e425013c8"
      unitRef="usd">-1285000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzUtNi0xLTEtMjMwMjg_5c706b88-7cc4-4428-b2a5-240327b57daa"
      unitRef="usd">-993000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:PensionAndOtherPostretirementBenefitExpense
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzYtMi0xLTEtMjMwMjg_3ef0a52c-81b3-457c-9bed-f2909f49c28b"
      unitRef="usd">218000</us-gaap:PensionAndOtherPostretirementBenefitExpense>
    <us-gaap:PensionAndOtherPostretirementBenefitExpense
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzYtNC0xLTEtMjMwMjg_60e6a152-7ccc-42f5-a621-503918e280c1"
      unitRef="usd">1076000</us-gaap:PensionAndOtherPostretirementBenefitExpense>
    <us-gaap:PensionAndOtherPostretirementBenefitExpense
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo5OGQyNWFmZWI4ZDg0NmIzYTE1NThhOTU5MTkwM2Y1Yy90YWJsZXJhbmdlOjk4ZDI1YWZlYjhkODQ2YjNhMTU1OGE5NTkxOTAzZjVjXzYtNi0xLTEtMjMwMjg_6918a777-a5ad-4e35-b42b-917dc1d98c2c"
      unitRef="usd">1063000</us-gaap:PensionAndOtherPostretirementBenefitExpense>
    <us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzcwODI_013b6465-2b13-43f2-974e-029e9885ecc8">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the reclassifications of net actuarial losses from accumulated other comprehensive loss to net income for 2022 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.943%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.124%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of actuarial loss - total before tax &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(143)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net of tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;The amortization expense is included in the computation of periodic pension cost and is a decrease to net income upon reclassification from accumulated other comprehensive loss.&lt;/span&gt;&lt;/div&gt;</us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock>
    <us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditBeforeTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo1MjE1NGUyNTM1NzI0OWRhYjJjZTM4YTBlMjcyMTcyYy90YWJsZXJhbmdlOjUyMTU0ZTI1MzU3MjQ5ZGFiMmNlMzhhMGUyNzIxNzJjXzItMi0xLTEtMjMwMjg_f727c233-8f84-45dc-b746-054680ea6867"
      unitRef="usd">585000</us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo1MjE1NGUyNTM1NzI0OWRhYjJjZTM4YTBlMjcyMTcyYy90YWJsZXJhbmdlOjUyMTU0ZTI1MzU3MjQ5ZGFiMmNlMzhhMGUyNzIxNzJjXzMtMi0xLTEtMjMwMjg_88028cb9-01f7-4b19-b440-8da1f854be94"
      unitRef="usd">143000</us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditTax>
    <us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo1MjE1NGUyNTM1NzI0OWRhYjJjZTM4YTBlMjcyMTcyYy90YWJsZXJhbmdlOjUyMTU0ZTI1MzU3MjQ5ZGFiMmNlMzhhMGUyNzIxNzJjXzQtMi0xLTEtMjMwMjg_d38c6740-9429-48c6-b380-2f333876c3c3"
      unitRef="usd">442000</us-gaap:OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax>
    <us-gaap:DefinedBenefitPlanExpectedAmortizationNextFiscalYear
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzMwMzQ_7a2632b8-1816-40ca-8ffc-e5fc5ed4b507"
      unitRef="usd">600000</us-gaap:DefinedBenefitPlanExpectedAmortizationNextFiscalYear>
    <us-gaap:ScheduleOfBenefitObligationsInExcessOfFairValueOfPlanAssetsTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzcwMjk_92e4b202-be7c-4e1c-856f-c97df949fcc9">&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The obligations, fair value of plan assets, and funded status of both plans are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.324%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Change in benefit obligation&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning benefit obligation (January 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,804&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Actuarial gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,714)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,537)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefits paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,468)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,148)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending benefit obligation (December 31)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Change in plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning fair value of plan assets (January 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Return on assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,652)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Employer contribution&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefits paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,468)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,151)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending fair value of plan assets (December 31)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Funded status underfunded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,057)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,107)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Amounts recognized in the consolidated balance sheet&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Unrecognized loss included in accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning unrecognized loss, before tax (January 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(582)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,282)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Liability gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,714)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,537)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset loss (gain)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,228)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending unrecognized loss, before tax (December 31)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax impact&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(970)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,827)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized loss included in accumulated other comprehensive loss, net of tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Projected benefit obligation equals the accumulated benefit obligation for the plans.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfBenefitObligationsInExcessOfFairValueOfPlanAssetsTableTextBlock>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzMtMi0xLTEtMjMwMjg_a59b40db-a49d-4d61-9e74-195ed88c2a3b"
      unitRef="usd">39805000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="i135be3338504467c88a3e6b8d068dc04_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzMtNC0xLTEtMjMwMjg_6a964587-b426-429c-a7f6-b910ae0959ae"
      unitRef="usd">42804000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzQtMi0xLTEtMjMwMjg_add99643-a588-4796-9642-de762838dd73"
      unitRef="usd">625000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzQtNC0xLTEtMjMwMjg_6a2c0ff0-c4fa-44a8-b9d7-a7d340f4ff29"
      unitRef="usd">676000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzUtMi0xLTEtMjMwMjg_2a3c2b67-e04d-467f-8403-b603ab22c680"
      unitRef="usd">1089000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzUtNC0xLTEtMjMwMjg_716502c8-fe63-46fd-b503-bac3ac37f90e"
      unitRef="usd">1010000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzYtMi0xLTEtMjMwMjg_ad864416-436e-41d3-8946-47046d9e1cf4"
      unitRef="usd">9714000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzYtNC0xLTEtMjMwMjg_5d73fcc8-4519-4aab-bd0e-f9ab0f856c2c"
      unitRef="usd">2537000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzctMi0xLTEtMjMwMjg_0d0616a8-154f-4fbe-abc5-c45da2a2b171"
      unitRef="usd">1468000</us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid>
    <us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzctNC0xLTEtMjMwMjg_2e92f700-f6b7-4f48-a349-5946254a310a"
      unitRef="usd">2148000</us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzgtMi0xLTEtMjMwMjg_d7913e7f-5c05-4bc7-a629-106842baae7e"
      unitRef="usd">30337000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzgtNC0xLTEtMjMwMjg_6965f6a4-0841-4863-935e-d529003b8c41"
      unitRef="usd">39805000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzEwLTItMS0xLTIzMDI4_8b758a5a-bcb1-4061-a444-4d6384c121b6"
      unitRef="usd">33698000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i135be3338504467c88a3e6b8d068dc04_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzEwLTQtMS0xLTIzMDI4_784ae529-3fdb-489f-9332-5a58ebbbc511"
      unitRef="usd">30632000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanActualReturnOnPlanAssets
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzExLTItMS0xLTIzMDI4_43847908-3d42-4f80-943c-d479c1b44209"
      unitRef="usd">-4652000</us-gaap:DefinedBenefitPlanActualReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanActualReturnOnPlanAssets
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzExLTQtMS0xLTIzMDI4_d953bf91-924e-4137-a985-b59845e71c5a"
      unitRef="usd">3122000</us-gaap:DefinedBenefitPlanActualReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzEyLTItMS0xLTIzMDI4_91f9f7f9-beff-4501-a2e5-c2f994962e4c"
      unitRef="usd">1702000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzEyLTQtMS0xLTIzMDI4_82e57e47-b782-4796-b1c4-0644d9e91140"
      unitRef="usd">2095000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanPlanAssetsBenefitsPaid
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzEzLTItMS0xLTIzMDI4_7293d750-e8db-4d07-8ae3-78e21a5dd28f"
      unitRef="usd">1468000</us-gaap:DefinedBenefitPlanPlanAssetsBenefitsPaid>
    <us-gaap:DefinedBenefitPlanPlanAssetsBenefitsPaid
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzEzLTQtMS0xLTIzMDI4_0378478f-32d9-43a5-8a9b-c3c67352426a"
      unitRef="usd">2151000</us-gaap:DefinedBenefitPlanPlanAssetsBenefitsPaid>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzE0LTItMS0xLTIzMDI4_0e9b7110-feed-48c1-a122-d948f3951cd8"
      unitRef="usd">29280000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzE0LTQtMS0xLTIzMDI4_20694586-ed50-4bd5-a31e-ed2348c9489d"
      unitRef="usd">33698000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFundedStatusOfPlan
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzE1LTItMS0xLTIzMDI4_707e95ad-ba3c-4017-9bdf-b873f5e2fa25"
      unitRef="usd">-1057000</us-gaap:DefinedBenefitPlanFundedStatusOfPlan>
    <us-gaap:DefinedBenefitPlanFundedStatusOfPlan
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzE1LTQtMS0xLTIzMDI4_4429e2aa-074d-4c78-b729-056e382eb9d2"
      unitRef="usd">-6107000</us-gaap:DefinedBenefitPlanFundedStatusOfPlan>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzE3LTItMS0xLTIzMDI4_ba4473ee-43f5-47ea-9309-bdcd6da7b9bd"
      unitRef="usd">416000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzE3LTQtMS0xLTIzMDI4_0b96f98e-f38e-447f-936d-b3dd17e16b0a"
      unitRef="usd">427000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzE4LTItMS0xLTIzMDI4_5a837e4a-cfc6-4e80-aeb5-e93ac63c4b93"
      unitRef="usd">641000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzE4LTQtMS0xLTIzMDI4_efb33b0d-3410-473b-927d-ed2ac2c32583"
      unitRef="usd">5680000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzIwLTItMS0xLTIzMDI4_260c31d4-6279-4f66-9759-666e504920f0"
      unitRef="usd">7573000</us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax>
    <us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax
      contextRef="i135be3338504467c88a3e6b8d068dc04_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzIwLTQtMS0xLTIzMDI4_dd80f558-433b-4b35-82ef-af7cdd60414b"
      unitRef="usd">12620000</us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzIxLTItMS0xLTIzMDI4_5e261ddd-c562-403a-9684-a6ae1d5c187d"
      unitRef="usd">-582000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzIxLTQtMS0xLTIzMDI4_c5b11403-d8cc-459f-90de-b931ea2afe98"
      unitRef="usd">-1282000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax>
    <dco:DefinedBenefitPlanUnrecognizedActuarialNetGainsLosses
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzIyLTItMS0xLTIzMDI4_570055dc-53a8-4f72-b6e1-6e8f2d26de78"
      unitRef="usd">-9714000</dco:DefinedBenefitPlanUnrecognizedActuarialNetGainsLosses>
    <dco:DefinedBenefitPlanUnrecognizedActuarialNetGainsLosses
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzIyLTQtMS0xLTIzMDI4_49079770-ff05-4b90-8ed8-3217518ceeb9"
      unitRef="usd">-2537000</dco:DefinedBenefitPlanUnrecognizedActuarialNetGainsLosses>
    <dco:DefinedBenefitPlanAmortizationOfUnrecognizedGainsLosses
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzIzLTItMS0xLTIzMDI4_0dc71035-3070-4636-82a8-1216157b6239"
      unitRef="usd">-6734000</dco:DefinedBenefitPlanAmortizationOfUnrecognizedGainsLosses>
    <dco:DefinedBenefitPlanAmortizationOfUnrecognizedGainsLosses
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzIzLTQtMS0xLTIzMDI4_4419586e-eb18-4998-8eb4-f0c361f1ce46"
      unitRef="usd">1228000</dco:DefinedBenefitPlanAmortizationOfUnrecognizedGainsLosses>
    <us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzI0LTItMS0xLTIzMDI4_24a1f810-1125-43d4-a139-aed5510df847"
      unitRef="usd">4011000</us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax>
    <us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzI0LTQtMS0xLTIzMDI4_0802de6b-ff98-4d40-bc92-619e2c26d64d"
      unitRef="usd">7573000</us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax>
    <dco:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeLossTaxImpact
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzI1LTItMS0xLTIzMDI4_fbefa756-2da0-44f1-933f-4f6259bc4912"
      unitRef="usd">-970000</dco:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeLossTaxImpact>
    <dco:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeLossTaxImpact
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzI1LTQtMS0xLTIzMDI4_016125bf-1bd2-408d-ae53-b4cbdd3aa8c6"
      unitRef="usd">-1827000</dco:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeLossTaxImpact>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzI2LTItMS0xLTIzMDI4_48822e3f-5986-4c7c-882b-12191ceadf82"
      unitRef="usd">3041000</us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozODZjYzEwZjNkMjg0YzFjOTUxMjNiNmM5ZDA2NTNjMi90YWJsZXJhbmdlOjM4NmNjMTBmM2QyODRjMWM5NTEyM2I2YzlkMDY1M2MyXzI2LTQtMS0xLTIzMDI4_dca09d2c-83b8-479d-85df-de9116ab36a9"
      unitRef="usd">5746000</us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax>
    <dco:DefinedBenefitPlanPlanswithBenefitObligationsinExcessofPlanAssetsAmountinExcess
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzMzNDA_dcbf812a-ad37-447a-b801-6b7f306ed441"
      unitRef="usd">1100000</dco:DefinedBenefitPlanPlanswithBenefitObligationsinExcessofPlanAssetsAmountinExcess>
    <us-gaap:DefinedBenefitPensionPlanLiabilitiesNoncurrent
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzM1MjU_8dad5df3-aea9-4c21-b4c4-35d6a6be5e9c"
      unitRef="usd">3000000</us-gaap:DefinedBenefitPensionPlanLiabilitiesNoncurrent>
    <us-gaap:DefinedBenefitPensionPlanLiabilitiesNoncurrent
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzM1MzI_5c41e7ba-8979-4e91-918f-a969d61f6171"
      unitRef="usd">5700000</us-gaap:DefinedBenefitPensionPlanLiabilitiesNoncurrent>
    <us-gaap:ScheduleOfAllocationOfPlanAssetsTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzcwMjY_d22c620d-89fa-4b8c-9f40-d28a7f58831b">&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our Pension Plan asset allocations at December&#160;31, 2022 and 2021, by asset category, were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.980%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.982%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equity securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:20.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Our overall investment strategy is to achieve an asset allocation within the following ranges to achieve an appropriate rate of return relative to risk.&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.859%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.298%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.502%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0-10%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed income securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15-75%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30-80%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.950%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.289%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.436%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.436%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.441%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Year Ended December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed income securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equities&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,591&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,591&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,033&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,033&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total plan assets at fair value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pooled funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,956&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total fair value of plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.675%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.678%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Year Ended December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;414&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;414&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed income securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equities&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total plan assets at fair value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pooled funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total fair value of plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Represents mutual funds and commingled accounts which invest primarily in equities, but may also hold fixed income securities, cash and other investments. Commingled funds with publicly quoted prices and actively traded are classified as Level 1 investments.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfAllocationOfPlanAssetsTableTextBlock>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="i1fec84eb80384839bf605777c8e2f79e_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo4OGViNTA5MzYxM2M0ZjFjYmZlOGI5NTg2ZmQwZWZhNy90YWJsZXJhbmdlOjg4ZWI1MDkzNjEzYzRmMWNiZmU4Yjk1ODZmZDBlZmE3XzItMi0xLTEtMjMwMjg_e8e6db39-95d6-4bc5-ade3-f09b08b043b3"
      unitRef="number">0.61</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="i76e5241723e9401bae494cd477a5f1fe_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo4OGViNTA5MzYxM2M0ZjFjYmZlOGI5NTg2ZmQwZWZhNy90YWJsZXJhbmdlOjg4ZWI1MDkzNjEzYzRmMWNiZmU4Yjk1ODZmZDBlZmE3XzItNC0xLTEtMjMwMjg_2d1e8c67-5449-40c3-bed3-f2484e326af8"
      unitRef="number">0.69</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="iaa96a4467c2049dd8672ba4676b391a9_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo4OGViNTA5MzYxM2M0ZjFjYmZlOGI5NTg2ZmQwZWZhNy90YWJsZXJhbmdlOjg4ZWI1MDkzNjEzYzRmMWNiZmU4Yjk1ODZmZDBlZmE3XzMtMi0xLTEtMjMwMjg_c12629b5-b0e4-40b6-8f0b-8fed28c5c8b7"
      unitRef="number">0.04</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="ia0e5fb19b3f2450286bde9c79f47e4a0_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo4OGViNTA5MzYxM2M0ZjFjYmZlOGI5NTg2ZmQwZWZhNy90YWJsZXJhbmdlOjg4ZWI1MDkzNjEzYzRmMWNiZmU4Yjk1ODZmZDBlZmE3XzMtNC0xLTEtMjMwMjg_50ac5a2a-61c6-44b6-98ef-a1a8bd84b3b7"
      unitRef="number">0.01</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="i77b77ca668b04595bae672f9c952bfb6_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo4OGViNTA5MzYxM2M0ZjFjYmZlOGI5NTg2ZmQwZWZhNy90YWJsZXJhbmdlOjg4ZWI1MDkzNjEzYzRmMWNiZmU4Yjk1ODZmZDBlZmE3XzQtMi0xLTEtMjMwMjg_027cf231-06c0-4942-9464-35520c27662b"
      unitRef="number">0.35</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="i73258a9ea6614d7b94b03f1379ecba78_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo4OGViNTA5MzYxM2M0ZjFjYmZlOGI5NTg2ZmQwZWZhNy90YWJsZXJhbmdlOjg4ZWI1MDkzNjEzYzRmMWNiZmU4Yjk1ODZmZDBlZmE3XzQtNC0xLTEtMjMwMjg_75ea4c6e-989f-4ba9-a0a9-8af7c31ec71f"
      unitRef="number">0.30</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo4OGViNTA5MzYxM2M0ZjFjYmZlOGI5NTg2ZmQwZWZhNy90YWJsZXJhbmdlOjg4ZWI1MDkzNjEzYzRmMWNiZmU4Yjk1ODZmZDBlZmE3XzUtMi0xLTEtMjMwMjg_97a5be21-e5fb-4100-aefd-2a7733c06262"
      unitRef="number">1</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo4OGViNTA5MzYxM2M0ZjFjYmZlOGI5NTg2ZmQwZWZhNy90YWJsZXJhbmdlOjg4ZWI1MDkzNjEzYzRmMWNiZmU4Yjk1ODZmZDBlZmE3XzUtNC0xLTEtMjMwMjg_c384b7d3-1d2a-4ee9-9426-6113a8df6629"
      unitRef="number">1</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage
      contextRef="i38714ae4df2d4ef899eb349815705900_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToyMTY2Y2Y3ZGEwZjQ0MzY4YjY4NjdmZDg4ZDUyM2RhMS90YWJsZXJhbmdlOjIxNjZjZjdkYTBmNDQzNjhiNjg2N2ZkODhkNTIzZGExXzAtMS0xLTEtMjMwMjgvdGV4dHJlZ2lvbjpjNWU0MDJlNGM2ZTE0ZmIwOTgwNWRhZjcwZmE0ZjliY180_172ed8a5-187e-48c2-b2e2-efe33969bcba"
      unitRef="number">0</us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage>
    <us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage
      contextRef="iecf65f4b2ef642ad8dfae880ec9b5e11_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToyMTY2Y2Y3ZGEwZjQ0MzY4YjY4NjdmZDg4ZDUyM2RhMS90YWJsZXJhbmdlOjIxNjZjZjdkYTBmNDQzNjhiNjg2N2ZkODhkNTIzZGExXzAtMS0xLTEtMjMwMjgvdGV4dHJlZ2lvbjpjNWU0MDJlNGM2ZTE0ZmIwOTgwNWRhZjcwZmE0ZjliY183_f4fd9e80-0fc1-4dac-9e48-8643031411c2"
      unitRef="number">0.10</us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage>
    <us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage
      contextRef="i850295c7d96b4bd4b2d5b0c72032a81f_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToyMTY2Y2Y3ZGEwZjQ0MzY4YjY4NjdmZDg4ZDUyM2RhMS90YWJsZXJhbmdlOjIxNjZjZjdkYTBmNDQzNjhiNjg2N2ZkODhkNTIzZGExXzEtMS0xLTEtMjMwMjgvdGV4dHJlZ2lvbjoxN2U5ZTA2NDEyZDE0OWNjODc3YWE1NDAzNTcwNzhhMl80_56e3aed4-1abd-41b2-a6e2-2799db3b3118"
      unitRef="number">0.15</us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage>
    <us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage
      contextRef="i41e67615c4f44162b6b019290109d6e7_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToyMTY2Y2Y3ZGEwZjQ0MzY4YjY4NjdmZDg4ZDUyM2RhMS90YWJsZXJhbmdlOjIxNjZjZjdkYTBmNDQzNjhiNjg2N2ZkODhkNTIzZGExXzEtMS0xLTEtMjMwMjgvdGV4dHJlZ2lvbjoxN2U5ZTA2NDEyZDE0OWNjODc3YWE1NDAzNTcwNzhhMl83_260e337c-f47f-4ed0-999e-d755c2c6dcb2"
      unitRef="number">0.75</us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage>
    <us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage
      contextRef="i96ffdd4a8fae464ca7119d02d30d5857_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToyMTY2Y2Y3ZGEwZjQ0MzY4YjY4NjdmZDg4ZDUyM2RhMS90YWJsZXJhbmdlOjIxNjZjZjdkYTBmNDQzNjhiNjg2N2ZkODhkNTIzZGExXzItMS0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo1MWE1MzExODQ0Mjk0ZDRjYjU1MzJjZDU5YzJhZmY2YV80_b50bf7ee-f36f-4745-b596-02e3cd0b13f0"
      unitRef="number">0.30</us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage>
    <us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage
      contextRef="i2e3309bf4ef348b19df129719720da74_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToyMTY2Y2Y3ZGEwZjQ0MzY4YjY4NjdmZDg4ZDUyM2RhMS90YWJsZXJhbmdlOjIxNjZjZjdkYTBmNDQzNjhiNjg2N2ZkODhkNTIzZGExXzItMS0xLTEtMjMwMjgvdGV4dHJlZ2lvbjo1MWE1MzExODQ0Mjk0ZDRjYjU1MzJjZDU5YzJhZmY2YV83_bf7b13be-fb1f-40f8-bf1c-bbf20f734c28"
      unitRef="number">0.80</us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i219b9cf8d08a44cdace1f0a862974662_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzItMi0xLTEtMjMwMjg_91d5cc48-d93c-478f-b9eb-3909106fca62"
      unitRef="usd">1078000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i925ae21c1d7840f8933dc1ed6a803abc_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzItNC0xLTEtMjMwMjg_fd2f3acd-4ff4-4246-897a-012b43d93252"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="id1add76a1e13400aa30ed58f83dbe742_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzItNi0xLTEtMjMwMjg_bb41997a-5e02-4e3e-9ae2-f2229d431250"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="iaa96a4467c2049dd8672ba4676b391a9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzItOC0xLTEtMjMwMjg_14d5da7b-7439-4f75-9c37-6d5907cf88ce"
      unitRef="usd">1078000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="ib53f5cc0498043d39c46a41ee487120d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzMtMi0xLTEtMjMwMjg_836e2dc9-3daf-4b94-b895-19aa2d8d6e51"
      unitRef="usd">4622000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="if82d9a61da834da684dbf056c8a515f0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzMtNC0xLTEtMjMwMjg_348ccd78-be81-47ed-8574-b4b92bdfdddc"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="id07c6e0980ac472190df7b042612807b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzMtNi0xLTEtMjMwMjg_b7120304-c81d-41f8-b706-446654f7b170"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="if604b5e5366b44bda29bfe2d1f7c8827_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzMtOC0xLTEtMjMwMjg_b3264d04-0be4-40a4-8df0-7d8bcfa2dd88"
      unitRef="usd">4622000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i9b9ccab6957a4f7bacdbe146d73b2d6e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzQtMi0xLTEtMjMwMjg_c49fadb1-7e17-4947-81bb-1fe2fd4faf57"
      unitRef="usd">12591000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i2b22aa9ff6f8446db764773622b3755f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzQtNC0xLTEtMjMwMjg_47ec6992-602f-45cc-9025-2a73682238d7"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i0e8de87b734c4321927207ee003d85f8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzQtNi0xLTEtMjMwMjg_89864fbc-b70b-48e4-bc4f-5daf95850a22"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i1fec84eb80384839bf605777c8e2f79e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzQtOC0xLTEtMjMwMjg_3251da1b-188d-4709-8980-5eccaa533f77"
      unitRef="usd">12591000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i19f8ef13cbde467ca2ae0a3c1ee7d998_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzUtMi0xLTEtMjMwMjg_b505088a-a16e-4176-bd8b-152a4b452559"
      unitRef="usd">1033000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i3dca405d3acb403b870c4d43e8528bbf_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzUtNC0xLTEtMjMwMjg_3832eea2-62cd-4ff2-897f-0cdebcc76f40"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="ia69e4c9a16c648ddb688d4d74614a43d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzUtNi0xLTEtMjMwMjg_69aff33c-8cc7-481c-8f58-8c59101a25a1"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i3b5092dad4fd471d95cb2d06a11c8211_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzUtOC0xLTEtMjMwMjg_d3cb53c0-cee0-4c99-a981-75b83e4b3118"
      unitRef="usd">1033000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds
      contextRef="if45606b3d58e4cfe86e9012672035c71_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzYtMi0xLTEtMjMwMjg_7d7e0023-e807-42f7-97ef-c9ba87897684"
      unitRef="usd">19324000</dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds>
    <dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds
      contextRef="if0aa91a24de248d6b12a1879bd40bc1f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzYtNC0xLTEtMjMwMjg_8c0a56e7-cd73-47eb-9c0a-ee352809acd2"
      unitRef="usd">0</dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds>
    <dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds
      contextRef="i52122fa9a912471fb105c5ef2ab2fd66_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzYtNi0xLTEtMjMwMjg_f634c2c0-4827-473b-a8bb-cceae6f89a65"
      unitRef="usd">0</dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds>
    <dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzYtOC0xLTEtMjMwMjg_69541fba-8c98-4eab-8ce7-f03925923273"
      unitRef="usd">19324000</dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds>
    <dco:DefinedBenefitPlanFairValueofPooledFunds
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzctOC0xLTEtMjMwMjg_14543624-cde1-4a89-8131-15d192f78084"
      unitRef="usd">9956000</dco:DefinedBenefitPlanFairValueofPooledFunds>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTpkMTE4NTg2MjgwYzc0OTc1OTJlNWI0YzJiNzY0NDU5OC90YWJsZXJhbmdlOmQxMTg1ODYyODBjNzQ5NzU5MmU1YjRjMmI3NjQ0NTk4XzgtOC0xLTEtMjMwMjg_6bf3b234-0720-481e-831d-678925f632bb"
      unitRef="usd">29280000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i75d795121cf4484da0ce431a6ce57cc8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzItMi0xLTEtMjMwMjg_30dd9527-0576-4fc8-908c-b9d7c7ffdb69"
      unitRef="usd">414000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="ia94c738ea9074cafb6327be84f85b730_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzItNC0xLTEtMjMwMjg_9d01dd31-634f-488f-a4c7-b488ff21f800"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i0181b9a09a0f41878fdaac82512c678a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzItNi0xLTEtMjMwMjg_a4a5f664-9493-465c-a2d8-4801133d5c98"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="ia0e5fb19b3f2450286bde9c79f47e4a0_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzItOC0xLTEtMjMwMjg_0efeaa80-01ad-4f5c-94c7-a68f6acc51ce"
      unitRef="usd">414000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i073eadaabf2e489b8152c0a7feb7e837_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzMtMi0xLTEtMjMwMjg_fe76aac2-f3c6-432d-a2f0-494b7956cb6b"
      unitRef="usd">3648000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i6e1b096ba39c4909aa5c7c9fff454fc2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzMtNC0xLTEtMjMwMjg_4942dc35-c014-4cb7-b3a7-0d3d9d32c37e"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i748ca2e7900d4a6686b5f55a05fd8d18_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzMtNi0xLTEtMjMwMjg_309f37e4-e76a-44ff-8abe-0ae1b0ac752d"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="if8a6592ff5b84bfbb7368ab884a3d43d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzMtOC0xLTEtMjMwMjg_5439dc48-4cf5-43c9-9be7-d443b7e3e39c"
      unitRef="usd">3648000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i20d24d70178f4181bdb80dd2e9f67beb_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzQtMi0xLTEtMjMwMjg_e55ced64-612a-40fa-8706-3dbcae8441c1"
      unitRef="usd">7446000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i2c2015cbdf1945ef8f755f5426322bee_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzQtNC0xLTEtMjMwMjg_bb4181c1-e1e1-400d-9b2a-eb88af7f0e59"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i4afba99dc3a5404a8d0152175a1cc83b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzQtNi0xLTEtMjMwMjg_6c137764-49fb-4400-a920-297733753a86"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i76e5241723e9401bae494cd477a5f1fe_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzQtOC0xLTEtMjMwMjg_196ababf-8595-42a3-bfdc-333ab1ef39d5"
      unitRef="usd">7446000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i27bb94d99dd949b08d054993b2cf0b05_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzUtMi0xLTEtMjMwMjg_7b67727c-3d92-465b-ae7d-4ae17d947bf0"
      unitRef="usd">1199000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i84487ef1ff9e498ca03c3eaeb3914ee0_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzUtNC0xLTEtMjMwMjg_bedc0a59-5652-449c-8898-8db2dcbebb43"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i7e08ca30b6304cfea020b58009714033_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzUtNi0xLTEtMjMwMjg_1b7e2585-48f2-4b16-b7bf-9ac9f6b73e84"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount
      contextRef="i079ffafe79eb47d0ae61e644d4401d45_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzUtOC0xLTEtMjMwMjg_800f09fc-f075-4a69-ad30-5293b2912779"
      unitRef="usd">1199000</us-gaap:DefinedBenefitPlanPlanAssetsInvestmentWithinPlanAssetCategoryAmount>
    <dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds
      contextRef="i8f55e04fc21a4493bbaee445e1e3bd44_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzYtMi0xLTEtMjMwMjg_65958bbe-2e2c-4c4d-b742-af56b4d54f1a"
      unitRef="usd">12707000</dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds>
    <dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds
      contextRef="i2e917cca99f84bd8a8f75b54209d576a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzYtNC0xLTEtMjMwMjg_d97a7cc2-9947-40c5-a6fc-5b5d9405bb21"
      unitRef="usd">0</dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds>
    <dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds
      contextRef="ia374ea2f4bfa454c99a52c5172974de6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzYtNi0xLTEtMjMwMjg_2f3adf59-dc57-4f8f-9600-da31c34642c1"
      unitRef="usd">0</dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds>
    <dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzYtOC0xLTEtMjMwMjg_b32d8b50-6163-45a7-95ce-567612734c2b"
      unitRef="usd">12707000</dco:DefinedBenefitPlanFairValueofPlanAssetsNotIncludingPooledFunds>
    <dco:DefinedBenefitPlanFairValueofPooledFunds
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzctOC0xLTEtMjMwMjg_2a1076c2-27f4-4133-84ec-fd8532775bd6"
      unitRef="usd">20991000</dco:DefinedBenefitPlanFairValueofPooledFunds>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo3NGQ1YmU1Y2ZkNTQ0ZWU5OWJhMDNkZDczNDY5NjA1MC90YWJsZXJhbmdlOjc0ZDViZTVjZmQ1NDRlZTk5YmEwM2RkNzM0Njk2MDUwXzgtOC0xLTEtMjMwMjg_916d3d45-d3c5-4f4c-aa32-cbdc1e1f4881"
      unitRef="usd">33698000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <dco:DefinedBenefitPlanNumberOfActivePlans
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzU4ODk_f1f76ea3-7774-497e-8b13-78b5694e10fb"
      unitRef="plan">2</dco:DefinedBenefitPlanNumberOfActivePlans>
    <dco:DefinedBenefitPlanNumberOfActivePlans
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzY1MjM_26ee4d22-238f-45cf-b952-2e42e2a2fa69"
      unitRef="plan">2</dco:DefinedBenefitPlanNumberOfActivePlans>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
      contextRef="iefbe57791862465799689c37d93154d9_D20220101-20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo2ZDE2OGM1OThlYmQ0OGYyOWMzOTZjYjdjMzgzYmYzOS90YWJsZXJhbmdlOjZkMTY4YzU5OGViZDQ4ZjI5YzM5NmNiN2MzODNiZjM5XzMtMi0xLTEtMjMwMjg_615ff78b-8a73-4757-bd99-f45881d9c0fe"
      unitRef="number">0.0285</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
      contextRef="id47ac82dc0784f6cb9134b980ecf59a6_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo2ZDE2OGM1OThlYmQ0OGYyOWMzOTZjYjdjMzgzYmYzOS90YWJsZXJhbmdlOjZkMTY4YzU5OGViZDQ4ZjI5YzM5NmNiN2MzODNiZjM5XzMtNC0xLTEtMjMwMjg_59af11ad-2d93-4092-9b7a-3a39b6c369eb"
      unitRef="number">0.0250</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
      contextRef="ifd92de81410349cc8f6bbe11fea51a06_D20200101-20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo2ZDE2OGM1OThlYmQ0OGYyOWMzOTZjYjdjMzgzYmYzOS90YWJsZXJhbmdlOjZkMTY4YzU5OGViZDQ4ZjI5YzM5NmNiN2MzODNiZjM5XzMtNi0xLTEtMjMwMjg_d34eea31-29c6-47e3-b9da-73587ecae76c"
      unitRef="number">0.0322</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
      contextRef="i45804ac0fdf04cc38d5bc7b3eefd0e6a_D20220101-20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo2ZDE2OGM1OThlYmQ0OGYyOWMzOTZjYjdjMzgzYmYzOS90YWJsZXJhbmdlOjZkMTY4YzU5OGViZDQ4ZjI5YzM5NmNiN2MzODNiZjM5XzQtMi0xLTEtMjMwMjg_17c2876c-11c6-4f1d-accd-eac312be71d5"
      unitRef="number">0.0235</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
      contextRef="i3cd0c31fe52d4670bf2c6184600de29c_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo2ZDE2OGM1OThlYmQ0OGYyOWMzOTZjYjdjMzgzYmYzOS90YWJsZXJhbmdlOjZkMTY4YzU5OGViZDQ4ZjI5YzM5NmNiN2MzODNiZjM5XzQtNC0xLTEtMjMwMjg_1e085477-a3b3-401b-be76-15066f5500c4"
      unitRef="number">0.0185</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
      contextRef="iea0a611ff0784288abb9248879a6bd04_D20200101-20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTo2ZDE2OGM1OThlYmQ0OGYyOWMzOTZjYjdjMzgzYmYzOS90YWJsZXJhbmdlOjZkMTY4YzU5OGViZDQ4ZjI5YzM5NmNiN2MzODNiZjM5XzQtNi0xLTEtMjMwMjg_da1df123-cb3d-4ce3-8c56-4b766d04d065"
      unitRef="number">0.0285</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate>
    <dco:DefinedBenefitPlanNumberOfActivePlans
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzY2Mzg_dc1994f3-2d9f-4ca8-ad20-398ebe9c4d2e"
      unitRef="plan">2</dco:DefinedBenefitPlanNumberOfActivePlans>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="ia098f9f374dd4c61b612fa295800a541_I20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozNDMzODkwNzg5NWI0MGQ4ODZiMGQ5NjZlNjIwMGZiMi90YWJsZXJhbmdlOjM0MzM4OTA3ODk1YjQwZDg4NmIwZDk2NmU2MjAwZmIyXzMtMi0xLTEtMjMwMjg_51ae5c2d-fc1b-4515-a6d3-b40c246ba8c9"
      unitRef="number">0.0511</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="iba2569d71d924b20918e8e026d54a07f_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozNDMzODkwNzg5NWI0MGQ4ODZiMGQ5NjZlNjIwMGZiMi90YWJsZXJhbmdlOjM0MzM4OTA3ODk1YjQwZDg4NmIwZDk2NmU2MjAwZmIyXzMtNC0xLTEtMjMwMjg_3080d46b-2126-49d6-b983-50df4313fccb"
      unitRef="number">0.0285</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="ia7e736465b1f4ae1a8787ddad0a7d622_I20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozNDMzODkwNzg5NWI0MGQ4ODZiMGQ5NjZlNjIwMGZiMi90YWJsZXJhbmdlOjM0MzM4OTA3ODk1YjQwZDg4NmIwZDk2NmU2MjAwZmIyXzMtNi0xLTEtMjMwMjg_6dc128f7-cb01-43cd-916f-6014e028cf93"
      unitRef="number">0.0250</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="id43c21a868084d58b58959c0d20443cd_I20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozNDMzODkwNzg5NWI0MGQ4ODZiMGQ5NjZlNjIwMGZiMi90YWJsZXJhbmdlOjM0MzM4OTA3ODk1YjQwZDg4NmIwZDk2NmU2MjAwZmIyXzQtMi0xLTEtMjMwMjg_44ab99f9-7de9-4871-a81f-22a6bba0231f"
      unitRef="number">0.0500</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="id8269a54c2b34a32877b078f351fe5ee_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozNDMzODkwNzg5NWI0MGQ4ODZiMGQ5NjZlNjIwMGZiMi90YWJsZXJhbmdlOjM0MzM4OTA3ODk1YjQwZDg4NmIwZDk2NmU2MjAwZmIyXzQtNC0xLTEtMjMwMjg_0a95f3be-0cd3-486c-8449-bd928efd2d12"
      unitRef="number">0.0235</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="ic2b7b6bdba744dc491a7180b03d737b6_I20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozNDMzODkwNzg5NWI0MGQ4ODZiMGQ5NjZlNjIwMGZiMi90YWJsZXJhbmdlOjM0MzM4OTA3ODk1YjQwZDg4NmIwZDk2NmU2MjAwZmIyXzQtNi0xLTEtMjMwMjg_d64b916f-d3d6-4e67-9406-b74813d36a6d"
      unitRef="number">0.0185</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <dco:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationExpectedLongTermReturnOnAssets
      contextRef="ia098f9f374dd4c61b612fa295800a541_I20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozNDMzODkwNzg5NWI0MGQ4ODZiMGQ5NjZlNjIwMGZiMi90YWJsZXJhbmdlOjM0MzM4OTA3ODk1YjQwZDg4NmIwZDk2NmU2MjAwZmIyXzUtMi0xLTEtMjMwMjg_43802509-dd92-40ea-906d-cc21e427d4c1"
      unitRef="number">0.0625</dco:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationExpectedLongTermReturnOnAssets>
    <dco:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationExpectedLongTermReturnOnAssets
      contextRef="iba2569d71d924b20918e8e026d54a07f_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozNDMzODkwNzg5NWI0MGQ4ODZiMGQ5NjZlNjIwMGZiMi90YWJsZXJhbmdlOjM0MzM4OTA3ODk1YjQwZDg4NmIwZDk2NmU2MjAwZmIyXzUtNC0xLTEtMjMwMjg_4e0d49a3-7d68-4591-9fe8-97d30b2a3c3d"
      unitRef="number">0.0625</dco:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationExpectedLongTermReturnOnAssets>
    <dco:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationExpectedLongTermReturnOnAssets
      contextRef="ia7e736465b1f4ae1a8787ddad0a7d622_I20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZTozNDMzODkwNzg5NWI0MGQ4ODZiMGQ5NjZlNjIwMGZiMi90YWJsZXJhbmdlOjM0MzM4OTA3ODk1YjQwZDg4NmIwZDk2NmU2MjAwZmIyXzUtNi0xLTEtMjMwMjg_5eff7ea4-fe04-4ca1-acfe-5a77e3fa5edc"
      unitRef="number">0.0625</dco:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationExpectedLongTermReturnOnAssets>
    <us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzcwMzk_2695a1b5-5408-44db-93d6-32b8c03a5736">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following benefit payments under both plans, which reflect expected future service, as appropriate, are expected to be paid:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.442%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.470%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Pension&#160;Plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;LaBarge&lt;br/&gt;Retirement&lt;br/&gt;Plan&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,555&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028 - 2032&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths
      contextRef="ia098f9f374dd4c61b612fa295800a541_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzItMi0xLTEtMjMwMjg_e72a7819-1c96-40f0-8c8c-20d08a2312c5"
      unitRef="usd">1379000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths
      contextRef="id43c21a868084d58b58959c0d20443cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzItNC0xLTEtMjMwMjg_f6d2947a-a636-4e8b-9ad3-2e4de606f2b2"
      unitRef="usd">416000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo
      contextRef="ia098f9f374dd4c61b612fa295800a541_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzMtMi0xLTEtMjMwMjg_8e4d3397-dd51-4681-a5ae-1376dd95f775"
      unitRef="usd">1481000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo
      contextRef="id43c21a868084d58b58959c0d20443cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzMtNC0xLTEtMjMwMjg_19ab2b7a-1338-4595-88a6-5be537988b78"
      unitRef="usd">397000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree
      contextRef="ia098f9f374dd4c61b612fa295800a541_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzQtMi0xLTEtMjMwMjg_40868af3-34a4-44cf-b621-eb2dbab555b2"
      unitRef="usd">1555000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree
      contextRef="id43c21a868084d58b58959c0d20443cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzQtNC0xLTEtMjMwMjg_18a7dde3-56ed-48e7-8d2d-5e0c5660f34e"
      unitRef="usd">378000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour
      contextRef="ia098f9f374dd4c61b612fa295800a541_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzUtMi0xLTEtMjMwMjg_46c52553-b0ce-405a-b946-0b88d15fff7b"
      unitRef="usd">1639000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour
      contextRef="id43c21a868084d58b58959c0d20443cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzUtNC0xLTEtMjMwMjg_0e2dbb1e-e4c7-4c4e-8d59-a5c2d602ad5f"
      unitRef="usd">359000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive
      contextRef="ia098f9f374dd4c61b612fa295800a541_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzYtMi0xLTEtMjMwMjg_43414f14-b3a1-4f5b-9382-1c915cad5d3f"
      unitRef="usd">1712000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive
      contextRef="id43c21a868084d58b58959c0d20443cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzYtNC0xLTEtMjMwMjg_6d9a6c96-9cd4-4037-af4f-2236b8ffee01"
      unitRef="usd">341000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter
      contextRef="ia098f9f374dd4c61b612fa295800a541_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzctMi0xLTEtMjMwMjg_bb4b2f1d-9818-4bb1-b08d-2afeef6f2604"
      unitRef="usd">9156000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter
      contextRef="id43c21a868084d58b58959c0d20443cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90YWJsZToxYjQ1OGQ3NjZlNmY0YmUyOGU0YjJlOWU3MTFkNTY5NS90YWJsZXJhbmdlOjFiNDU4ZDc2NmU2ZjRiZTI4ZTRiMmU5ZTcxMWQ1Njk1XzctNC0xLTEtMjMwMjg_cf084e53-1171-42de-a24d-639fa61dd2a1"
      unitRef="usd">1435000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter>
    <us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsNextFiscalYear
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzcwMDA_fcf596aa-df3b-4ef6-8a14-2bfce7539ab5"
      unitRef="usd">800000</us-gaap:DefinedBenefitPlanExpectedFutureEmployerContributionsNextFiscalYear>
    <dco:NumberOfUnfundedSupplementalRetirementPlans
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzQzOTgwNDY1MTk2Mjg_dc1487d1-5979-418c-b372-1cb5193583a3"
      unitRef="compensation_plan">3</dco:NumberOfUnfundedSupplementalRetirementPlans>
    <dco:PensionAndOtherPostretirementDefinedBenefitPlansAccruedEmployeesCompensationAndWithholdingsCurrentAndNoncurrent
      contextRef="id78d9b97f9c04606a525a1ede35e4491_I20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzQzOTgwNDY1MjAwODY_6eb93b9d-4b31-478e-af0f-24ca994e31ee"
      unitRef="usd">0</dco:PensionAndOtherPostretirementDefinedBenefitPlansAccruedEmployeesCompensationAndWithholdingsCurrentAndNoncurrent>
    <dco:PensionObligationsAndOtherLongTermLiabilities
      contextRef="id78d9b97f9c04606a525a1ede35e4491_I20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzQzOTgwNDY1MjAwODY_7381f0fa-7119-4e9b-a9f5-5999ee3a8122"
      unitRef="usd">0</dco:PensionObligationsAndOtherLongTermLiabilities>
    <dco:PensionAndOtherPostretirementDefinedBenefitPlansAccruedEmployeesCompensationAndWithholdingsCurrentAndNoncurrent
      contextRef="i078cf2f3d8cb48bdbaa2749f69790434_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzQzOTgwNDY1MjAxMDc_60568809-b4d2-4be4-a55b-92218697db83"
      unitRef="usd">0</dco:PensionAndOtherPostretirementDefinedBenefitPlansAccruedEmployeesCompensationAndWithholdingsCurrentAndNoncurrent>
    <dco:NumberOfUnfundedSupplementalRetirementPlans
      contextRef="ibd462a05254d444cbc0868b4a5dc906e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzEwMDk3_72782d10-2a2f-4c0b-b02e-1c82caf77c3f"
      unitRef="compensation_plan">2</dco:NumberOfUnfundedSupplementalRetirementPlans>
    <dco:NumberOfUnfundedSupplementalRetirementPlans
      contextRef="i2b2cbc3a7b9b42ef810304c68c0ff5e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzEwMDk3_82ce6d93-5af2-4587-a3d9-4a53651ef6df"
      unitRef="compensation_plan">2</dco:NumberOfUnfundedSupplementalRetirementPlans>
    <dco:AccruedBenefitLiability
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzQzOTgwNDY1MjAyMDM_b14885c6-3851-40a0-b997-edd00048f5c6"
      unitRef="usd">300000</dco:AccruedBenefitLiability>
    <dco:AccruedBenefitLiability
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNTcvZnJhZzowMGVlYjhiZDBhZTc0ZDEwYjY5MDBiNTE2MTU3NzAxNC90ZXh0cmVnaW9uOjAwZWViOGJkMGFlNzRkMTBiNjkwMGI1MTYxNTc3MDE0XzQzOTgwNDY1MjAyMDM_f6cfd39a-b36f-43f0-b2f5-c03b68068600"
      unitRef="usd">300000</dco:AccruedBenefitLiability>
    <dco:GuaranteesAndIndemnificationsTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjMvZnJhZzowNjcwYTEwMzYyMWQ0YWVkYmYyNWFiNmZkMzE4ZWZlZC90ZXh0cmVnaW9uOjA2NzBhMTAzNjIxZDRhZWRiZjI1YWI2ZmQzMThlZmVkXzEzNTI_aa12dedb-67b3-4d26-b8b9-2e2684adf6a4">Indemnifications&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have made guarantees and indemnities under which we may be required to make payments to a guaranteed or indemnified party, in relation to certain transactions, including revenue transactions in the ordinary course of business. Additionally, we indemnify our directors and officers to the maximum extent permitted under the laws of the State of Delaware and have a directors and officers insurance policy that may reduce our exposure in certain circumstances and may enable us to recover a portion of future amounts that may be payable, if any. Moreover, in connection with certain performance center leases, we have indemnified our lessors for certain claims arising from the performance center or the lease. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The duration of the guarantees and indemnities varies and, in many cases is indefinite but subject to applicable statutes of limitations. The majority of guarantees and indemnities do not provide any limitations on the maximum potential future payments we could be obligated to make. Historically, payments related to these guarantees and indemnities have been immaterial. We estimate the fair value of our indemnification obligations as insignificant based on this history and insurance coverage and have, therefore, not recorded any liability for these guarantees and indemnities in the accompanying consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</dco:GuaranteesAndIndemnificationsTextBlock>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzYxNjc_174d131d-c323-4474-bce1-270ae5223c71">Income Taxes&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our pre-tax income attributable to foreign operations was not material. The provision for income tax expense consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.112%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.147%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current tax expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,902&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,829&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(459)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,925&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax (benefit) expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,624)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,294&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(768)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(553)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,392)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;948&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;741&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,948&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,807&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognized net income tax benefits from deductions of share-based payments in excess of compensation cost recognized for financial reporting purposes of $0.2 million, $0.9 million, and $0.4 million for the years ended December&#160;31, 2022, 2021, and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred tax (liabilities) assets were comprised of the following:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.324%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for doubtful accounts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract overrun reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Employment-related accruals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,932&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Environmental reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;499&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal tax credit carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventory reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,957&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pension obligation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal and state net operating loss carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State tax credit carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,503&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,548)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax assets, net of valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,286)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,986)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,630)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,557)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,310)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,337)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest rate hedge&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,346)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,931)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid insurance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(609)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(534)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(547)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(840)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(51,087)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(48,185)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,953)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,727)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have federal and state tax net operating losses of $11.4 million and $17.3 million, respectively, as of December&#160;31, 2022. The federal net operating losses acquired from the acquisition of Nobles are subject to an annual limitation under Internal Revenue Code Section 382; however, we expect to fully realize them under ASC Subtopic 740-10 before they begin to expire in 2036. The state net operating loss carryforwards include $10.6 million that is not expected to be realized due to various limitations and has been reduced by a valuation allowance. If not realized, the state net operating loss carryforwards, depending on the tax jurisdiction, will begin to expire between 2027 and 2038. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have federal and state tax credit carryforwards of $0.1 million and $10.9 million, respectively, as of December&#160;31, 2022. A valuation allowance of $8.8 million has been provided on state tax credit carryforwards that are not expected to be realized under ASC Subtopic 740-10. If not realized, the federal tax carryforwards will begin to expire in 2032 and state tax credit carryforwards, depending on the tax jurisdiction, will begin to expire between 2023 and 2037. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We believe it is more likely than not that we will generate sufficient taxable income to realize the benefit of the remaining deferred tax assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The principal reasons for the variation between the statutory and effective tax rates were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.021%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Statutory federal income tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State income taxes (net of federal benefit)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.6&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign derived intangible income deduction&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.9)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.4)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.6)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.4)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development tax credits &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14.8)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3.0)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13.8)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.3)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.0)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.4)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-deductible book compensation expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.7&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.2)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in tax reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4.6)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective income tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.6%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.5%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.8%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;margin-top:9pt;padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:6.34pt"&gt;For 2020, (3.4)% is additional research and development tax credits related to 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our total amount of unrecognized tax benefits was $4.9 million, $4.4 million, and $4.1 million at December&#160;31, 2022, 2021, and 2020, respectively. We record interest and penalty charges, if any, related to uncertain tax positions as a component of tax expense and unrecognized tax benefits. The amounts accrued for interest and penalty charges as of December&#160;31, 2022, 2021, and 2020 were not significant. If recognized, $2.5 million would affect the effective income tax rate. As a result of statute of limitations set to expire in 2023, we expect decreases to our unrecognized tax benefits of approximately $0.6&#160;million in the next twelve months.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A reconciliation of the beginning and ending amount of unrecognized tax benefits was as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.231%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.392%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Years&#160;Ended&#160;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at January&#160;1,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,663&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions for tax positions related to the current year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions for tax positions related to prior years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reductions for tax positions related to prior years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reductions for lapse of statute of limitations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(670)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(376)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,169)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,944&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We file U.S. Federal and state income tax returns. We are subject to examination by the Internal Revenue Service (&#x201c;IRS&#x201d;) for tax years after 2018 and by state taxing authorities for tax years after 2017. While we are no longer subject to examination prior to those periods, carryforwards generated prior to those periods may still be adjusted upon examination by the IRS or state taxing authorities if they either have been or will be used in a subsequent period. We believe we have adequately accrued for tax deficiencies or reductions in tax benefits, if any, that could result from the examination and all open audit years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In March 2020, the U.S. enacted the Coronavirus Aid, Relief, and Economic Security Act (&#x201c;CARES Act&#x201d;) that provided tax relief to individuals and businesses affected by the coronavirus pandemic. We considered the provisions of the CARES Act and determined they do not have a material impact on our overall income taxes. We utilized the option to defer payment of the employer portion of payroll taxes (Social Security) that would otherwise be required to be made during the period beginning March 27, 2020 to December 31, 2020. As such, as of December 31, 2020, we deferred payment of income tax deductions related to payroll taxes of $6.1&#160;million and recorded the related deferred tax asset of $1.4&#160;million, which was included as part of the net deferred income taxes on the consolidated balance sheet. We were required to and made the payments for 50% of the deferred payroll taxes by December 31, 2021. We were required to and made the payments for the remaining 50% of the deferred payroll taxes by December 31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Tax Cuts and Jobs Act of 2017 (&#x201c;TCJA&#x201d;), which was signed into U.S. law in December 2017, eliminated the option to immediately deduct research and development expenditures in the year incurred under Section 174 effective January 1, 2022. The amended provision under Section 174 requires us to capitalize and amortize these expenditures over five years (for U.S.-based research). As of December 31, 2022, we recorded an increase to income taxes payable of approximately $10.6&#160;million &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;and a decrease to net deferred tax liabilities of a similar amount. We are monitoring legislation for any further changes to Section 174 and the potential impact to our financial statements in 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August 16, 2022, the U.S. enacted the Inflation Reduction Act of 2022 (&#x201c;IRA&#x201d;) which aims to curb inflation by reducing the deficit, lowering prescription drug prices, and investing in domestic energy production while promoting clean energy. We considered the provisions in the IRA and determined they have no or minimal impact to our overall income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August 9, 2022, the U.S. enacted the Creating Helpful Incentives to Produce Semiconductors Act of 2022 (&#x201c;CHIPS Act&#x201d;) which provides new funding to boost domestic research and manufacturing of semiconductors in the United States. We are evaluating the provisions in the CHIPS Act. Any impact to our overall income taxes would be for 2023 and thereafter.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzYxNjA_42e2f6cd-6765-4a93-b8fa-094260bc1544">The provision for income tax expense consisted of the following:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.112%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.147%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current tax expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,902&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,829&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(459)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,925&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax (benefit) expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,624)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,294&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(768)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(553)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,392)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;948&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;741&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,948&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,807&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzMtMi0xLTEtMjMwMjg_75da8365-6f47-4570-b335-07aa2a9a8225"
      unitRef="usd">12902000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzMtNC0xLTEtMjMwMjg_9446cacb-6305-461c-8bb4-780eddc25423"
      unitRef="usd">31171000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzMtNi0xLTEtMjMwMjg_d2545196-c750-48d5-83cd-8eebef89da0f"
      unitRef="usd">2525000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzQtMi0xLTEtMjMwMjg_98aac631-f511-43a2-8c0c-3b1eff938d78"
      unitRef="usd">1023000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzQtNC0xLTEtMjMwMjg_db6d60d8-42be-403b-9b11-8d128e041bae"
      unitRef="usd">2829000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzQtNi0xLTEtMjMwMjg_4d02ac53-1345-4e84-bbfe-1b4088c24c68"
      unitRef="usd">-459000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzUtMi0xLTEtMjMwMjg_4831034e-f314-4bff-a2f4-5ed020e6db81"
      unitRef="usd">13925000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzUtNC0xLTEtMjMwMjg_63100700-310f-434e-b0e6-b8d36a5a38c9"
      unitRef="usd">34000000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzUtNi0xLTEtMjMwMjg_33e5ca9b-d36e-444e-9d72-6858ed26f609"
      unitRef="usd">2066000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzctMi0xLTEtMjMwMjg_6bcc1663-9635-4320-b0a8-4f41fdf238d2"
      unitRef="usd">-8624000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzctNC0xLTEtMjMwMjg_a6b5a200-6b61-4b6c-9b75-a2ad715fc3e2"
      unitRef="usd">107000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzctNi0xLTEtMjMwMjg_018380e8-8952-481a-9d0d-ec60da04140b"
      unitRef="usd">1294000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzgtMi0xLTEtMjMwMjg_0ff2d985-454a-4ce4-b981-91ab4f163341"
      unitRef="usd">-768000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzgtNC0xLTEtMjMwMjg_3769019c-f6b3-4b3a-9fbe-77aab9492d66"
      unitRef="usd">841000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzgtNi0xLTEtMjMwMjg_9bd71d98-e85e-4faa-9510-1d8268ec60af"
      unitRef="usd">-553000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzktMi0xLTEtMjMwMjg_b50347e8-dfcf-4aea-a98c-03f5823c1374"
      unitRef="usd">-9392000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzktNC0xLTEtMjMwMjg_d755940d-bef1-473b-bfb7-4b38e2d208fe"
      unitRef="usd">948000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzktNi0xLTEtMjMwMjg_78b321d7-497d-4a12-847c-ff85febd8fc4"
      unitRef="usd">741000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzEwLTItMS0xLTIzMDI4_c46f5c28-7ed2-4b09-8719-355cbf7cb8e0"
      unitRef="usd">4533000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzEwLTQtMS0xLTIzMDI4_30e32c96-c1c2-4239-bfc2-e0c3da732911"
      unitRef="usd">34948000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTphMTgzY2RjNTgyZGI0ODcxODE1NjE3NjJlOTExOGVmNy90YWJsZXJhbmdlOmExODNjZGM1ODJkYjQ4NzE4MTU2MTc2MmU5MTE4ZWY3XzEwLTYtMS0xLTIzMDI4_73d0de37-b016-480e-bd23-fdf38cdc96c1"
      unitRef="usd">2807000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzMyMw_7c148714-5bfb-4d88-b86a-988cf78d2efc"
      unitRef="usd">200000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzMyNw_a15fd6ac-bb31-4a07-9c74-1ed61c2a83fb"
      unitRef="usd">900000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzMzNQ_8a26e9de-5b3b-49ab-b2a1-5475f52192e4"
      unitRef="usd">400000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzYxODM_7e5771d5-7347-4b85-a9b0-042be01edc44">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred tax (liabilities) assets were comprised of the following:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.324%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for doubtful accounts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract overrun reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Employment-related accruals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,932&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Environmental reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;499&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal tax credit carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventory reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,957&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pension obligation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal and state net operating loss carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State tax credit carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,503&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,548)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax assets, net of valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,286)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,986)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,630)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,557)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,310)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,337)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest rate hedge&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,346)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,931)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid insurance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(609)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(534)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(547)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(840)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(51,087)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(48,185)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,953)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,727)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <dco:DeferredTaxAssetsAccruedExpenses
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzMtMi0xLTEtMjMwMjg_3f3fbde7-8367-48c5-85b2-70bba7f84f78"
      unitRef="usd">627000</dco:DeferredTaxAssetsAccruedExpenses>
    <dco:DeferredTaxAssetsAccruedExpenses
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzMtNC0xLTEtMjMwMjg_f39b05c9-c0b3-4aeb-be76-54a978399838"
      unitRef="usd">620000</dco:DeferredTaxAssetsAccruedExpenses>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzQtMi0xLTEtMjMwMjg_6ae34aca-a0aa-4b89-86d6-fc7a54988247"
      unitRef="usd">152000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzQtNC0xLTEtMjMwMjg_86bc3e3d-0194-47be-bc62-d3c105b65195"
      unitRef="usd">269000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <dco:DeferredTaxAssetsLongTermContracts
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzUtMi0xLTEtMjMwMjg_73703f5e-0d0f-4ff6-b378-986380f0d0d8"
      unitRef="usd">952000</dco:DeferredTaxAssetsLongTermContracts>
    <dco:DeferredTaxAssetsLongTermContracts
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzUtNC0xLTEtMjMwMjg_55989c57-a084-48cb-8759-cf04e7d50d81"
      unitRef="usd">680000</dco:DeferredTaxAssetsLongTermContracts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzYtMi0xLTEtMjMwMjg_a6a357b3-87c7-4b78-8ae0-eb36ec3e61de"
      unitRef="usd">234000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzYtNC0xLTEtMjMwMjg_20873bac-fa89-4f2f-a8b2-e23184d9e4e3"
      unitRef="usd">272000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzctMi0xLTEtMjMwMjg_b555c84e-cb4a-454c-97f7-c32979da35ab"
      unitRef="usd">943000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzctNC0xLTEtMjMwMjg_fdb75f78-a882-4d62-a039-16a1fcb8f379"
      unitRef="usd">1570000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <dco:DeferredTaxAssetsEmployeeRelatedObligations
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzgtMi0xLTEtMjMwMjg_f01b3287-8209-4f35-ada3-c3231c2bf657"
      unitRef="usd">3932000</dco:DeferredTaxAssetsEmployeeRelatedObligations>
    <dco:DeferredTaxAssetsEmployeeRelatedObligations
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzgtNC0xLTEtMjMwMjg_11433080-4dcc-40dc-86e7-dc1f603d4553"
      unitRef="usd">4028000</dco:DeferredTaxAssetsEmployeeRelatedObligations>
    <dco:DeferredTaxAssetsEnvironmentalReserves
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzktMi0xLTEtMjMwMjg_4d4ff0ea-ee48-4310-8add-5c724bb5139d"
      unitRef="usd">501000</dco:DeferredTaxAssetsEnvironmentalReserves>
    <dco:DeferredTaxAssetsEnvironmentalReserves
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzktNC0xLTEtMjMwMjg_82bb1da6-a9da-4493-aff7-8c6a75fa0d8d"
      unitRef="usd">499000</dco:DeferredTaxAssetsEnvironmentalReserves>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzEwLTItMS0xLTIzMDI4_b410fbde-e687-42a7-a489-89f49c5c5e0a"
      unitRef="usd">133000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzEwLTQtMS0xLTIzMDI4_b50ac785-baa5-411f-bc55-dde9339594a5"
      unitRef="usd">133000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzExLTItMS0xLTIzMDI4_b950a531-dd9d-4fd0-8de0-8659f8d30d63"
      unitRef="usd">3572000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzExLTQtMS0xLTIzMDI4_7d795c4b-a7a3-41af-9292-97e17833c32a"
      unitRef="usd">2957000</us-gaap:DeferredTaxAssetsInventory>
    <dco:DeferredTaxAssetsOperatingLeaseLiability
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzEyLTItMS0xLTIzMDI4_f2d544b0-b465-47e3-b47e-7142419e009a"
      unitRef="usd">8672000</dco:DeferredTaxAssetsOperatingLeaseLiability>
    <dco:DeferredTaxAssetsOperatingLeaseLiability
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzEyLTQtMS0xLTIzMDI4_c74ffc83-32f4-4c41-9b37-3bad8ee71b98"
      unitRef="usd">8145000</dco:DeferredTaxAssetsOperatingLeaseLiability>
    <dco:DeferredTaxAssetsPension
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzEzLTItMS0xLTIzMDI4_18592b51-d0e6-4421-8e5d-80a5a275bb93"
      unitRef="usd">28000</dco:DeferredTaxAssetsPension>
    <dco:DeferredTaxAssetsPension
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzEzLTQtMS0xLTIzMDI4_3ccd175f-c1c1-4983-9949-a7bf248e2285"
      unitRef="usd">1550000</dco:DeferredTaxAssetsPension>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE0LTItMS0xLTIzMDI4_c213474b-6c9b-4d03-91c8-bbf69b308d05"
      unitRef="usd">3397000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE0LTQtMS0xLTIzMDI4_ae53cb1f-27ed-4b32-ba11-5987647c9cc7"
      unitRef="usd">4243000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE1LTItMS0xLTUyMzMx_bf32cf8a-3e2e-413e-a23b-9a92db9ad9f2"
      unitRef="usd">10620000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE1LTQtMS0xLTUyMzMx_2d4df535-14c2-452b-aa7b-16fa5589ccfe"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <dco:DeferredTaxAssetsTaxCreditCarryforwardsState
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE1LTItMS0xLTIzMDI4_1efce09d-c717-4514-8dee-c8ac3e73f902"
      unitRef="usd">6974000</dco:DeferredTaxAssetsTaxCreditCarryforwardsState>
    <dco:DeferredTaxAssetsTaxCreditCarryforwardsState
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE1LTQtMS0xLTIzMDI4_87e67d27-666d-4c46-9b88-a4757fdc32a1"
      unitRef="usd">7123000</dco:DeferredTaxAssetsTaxCreditCarryforwardsState>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE2LTItMS0xLTIzMDI4_f78eb0de-2615-4303-b07e-27be94709d52"
      unitRef="usd">2420000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE2LTQtMS0xLTIzMDI4_c0a7173c-12d8-4e5a-8ba9-1d02c4c4c0c8"
      unitRef="usd">2584000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE4LTItMS0xLTIzMDI4_3f552d63-ebd5-4e97-87fc-479615cbdf9d"
      unitRef="usd">1525000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE4LTQtMS0xLTIzMDI4_dbfd68ba-1747-47a4-aab6-f83fc6e5efea"
      unitRef="usd">2503000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE5LTItMS0xLTIzMDI4_5d3f1e2d-9e63-4bcd-a0dd-cbc50976d041"
      unitRef="usd">44682000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzE5LTQtMS0xLTIzMDI4_dd2c5cfe-4c8a-4314-98fd-d702ef0f3278"
      unitRef="usd">37176000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzIwLTItMS0xLTIzMDI4_b4d395a8-6566-44ae-bad8-f3c1a0c7b6ff"
      unitRef="usd">7548000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzIwLTQtMS0xLTIzMDI4_9ca742f5-1265-4482-8348-bb38c9d52723"
      unitRef="usd">7718000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzIxLTItMS0xLTIzMDI4_f690665f-4786-4c67-bd7d-9983988b94f3"
      unitRef="usd">37134000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzIxLTQtMS0xLTIzMDI4_4e87b4da-af77-4036-9744-ca9b6dfec6e8"
      unitRef="usd">29458000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI0LTItMS0xLTIzMDI4_972a1a68-0725-4bb2-8e91-2108e88773e3"
      unitRef="usd">11286000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI0LTQtMS0xLTIzMDI4_5360efb8-a8c6-434d-a604-da24190b53bb"
      unitRef="usd">11986000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI1LTItMS0xLTIzMDI4_e59f99ee-b53d-442b-976f-e80c7ee12bac"
      unitRef="usd">8630000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI1LTQtMS0xLTIzMDI4_5c95f52e-9e06-4a56-b651-5b3e9ef5e97b"
      unitRef="usd">6557000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI2LTItMS0xLTIzMDI4_d402e261-07a0-4851-be0c-8f15a212d920"
      unitRef="usd">18310000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI2LTQtMS0xLTIzMDI4_2e984e6f-e5a0-4883-8cd4-1e95e1630138"
      unitRef="usd">20337000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI4LTItMS0xLTUyMzYy_fa944825-3d8e-4b00-a98e-4d5e05370161"
      unitRef="usd">3359000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI4LTQtMS0xLTUyMzYy_5fdc6b56-fe55-4593-827b-b0cc5635c058"
      unitRef="usd">0</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <dco:DeferredTaxLiabilitiesRightOfUseAsset
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI3LTItMS0xLTIzMDI4_d5e17ee6-8dca-4afa-9081-8cb8226fa7e9"
      unitRef="usd">8346000</dco:DeferredTaxLiabilitiesRightOfUseAsset>
    <dco:DeferredTaxLiabilitiesRightOfUseAsset
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI3LTQtMS0xLTIzMDI4_98314e58-5a6a-4387-baf2-519e0f3184e9"
      unitRef="usd">7931000</dco:DeferredTaxLiabilitiesRightOfUseAsset>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI4LTItMS0xLTIzMDI4_b0f1d255-9f3a-4f78-9894-cc86e39c670e"
      unitRef="usd">609000</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzI4LTQtMS0xLTIzMDI4_f96f81da-b015-4217-a47d-0e20eb4289b6"
      unitRef="usd">534000</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzMwLTItMS0xLTIzMDI4_cea2efd1-26ed-4cba-b502-68a17fbda4f1"
      unitRef="usd">547000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzMwLTQtMS0xLTIzMDI4_1c63b97f-fe1b-49e5-b57a-5119c7b6c6b8"
      unitRef="usd">840000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzMxLTItMS0xLTIzMDI4_d72beb30-d3c1-4b43-a3b0-0f299935054d"
      unitRef="usd">51087000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzMxLTQtMS0xLTIzMDI4_7f7bbc44-dc2e-405b-b3e1-871d480653ca"
      unitRef="usd">48185000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzMyLTItMS0xLTIzMDI4_5a6adb52-bf98-4071-b851-093905883c76"
      unitRef="usd">13953000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZToxN2M4NjMxNzc5NjU0ZjQ4YWZhMDEyMWJmY2RmNTZkMy90YWJsZXJhbmdlOjE3Yzg2MzE3Nzk2NTRmNDhhZmEwMTIxYmZjZGY1NmQzXzMyLTQtMS0xLTIzMDI4_9b26803c-a940-4649-b09f-a04abf1dc5c9"
      unitRef="usd">18727000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i52227ec1ff0140eeaf4c8d85750bd2f5_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzUxMQ_7030dbe4-cea1-4a01-9887-eaf6c6c0d75c"
      unitRef="usd">11400000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i9fd61bd0b2224ecf9cda748f2ab3b558_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzUxOA_8e58ba2a-d4c5-457d-84ea-6e695835f3e1"
      unitRef="usd">17300000</us-gaap:OperatingLossCarryforwards>
    <dco:OperatingLossCarryforwardNotExpectedtobeRealized
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzg1MQ_7631fc83-981f-415a-8c52-7526e389fa3a"
      unitRef="usd">10600000</dco:OperatingLossCarryforwardNotExpectedtobeRealized>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="i52227ec1ff0140eeaf4c8d85750bd2f5_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzExNTU_9bbf8483-afc2-429c-8ac3-e5c278a7f0c4"
      unitRef="usd">100000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="i9fd61bd0b2224ecf9cda748f2ab3b558_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzExNjI_ddef1e0b-5645-4a8e-8c1e-271b03b350fa"
      unitRef="usd">10900000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i9fd61bd0b2224ecf9cda748f2ab3b558_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzEyMTU_319a3ae1-84c1-4145-a8c9-a821e3b474df"
      unitRef="usd">8800000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzYxNzg_4ac27c27-959a-4ad1-8d32-19d00bf2afce">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The principal reasons for the variation between the statutory and effective tax rates were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.021%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Statutory federal income tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State income taxes (net of federal benefit)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.6&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign derived intangible income deduction&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.9)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.4)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.6)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.4)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development tax credits &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14.8)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3.0)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13.8)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.3)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.0)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.4)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-deductible book compensation expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.7&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.2)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in tax reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4.6)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective income tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.6%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.5%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.8%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;margin-top:9pt;padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:6.34pt"&gt;For 2020, (3.4)% is additional research and development tax credits related to 2019.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzItMi0xLTEtMjMwMjg_43d82cc5-159d-4b7c-af59-61a0bd3c8413"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzItNC0xLTEtMjMwMjg_630ec0be-a347-4bd4-b9f2-73af9d4172f8"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzItNi0xLTEtMjMwMjg_7fbe2f5d-48d2-4ddc-b6bb-9f11796d729d"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzMtMi0xLTEtMjMwMjg_0c691c52-a3be-42bf-83a9-e615886d7bd2"
      unitRef="number">0.040</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzMtNC0xLTEtMjMwMjg_a4b16b6d-88ba-4485-94fe-a708e44ea1f0"
      unitRef="number">0.031</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzMtNi0xLTEtMjMwMjg_b83385ba-eb44-4f28-a52a-62343818ceec"
      unitRef="number">0.046</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzQtMi0xLTEtMjMwMjg_7247d9ba-f363-4fd1-802c-563bb4fced87"
      unitRef="number">0.009</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzQtNC0xLTEtMjMwMjg_319161fa-0703-4c9f-a9c6-a3dc4df8f916"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzQtNi0xLTEtMjMwMjg_3374ade0-784c-4e90-9cca-12b62d84609d"
      unitRef="number">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzYtMi0xLTEtMjMwMjg_67b491c1-b802-4425-a469-bfa1401e4492"
      unitRef="number">0.006</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzYtNC0xLTEtMjMwMjg_dc2f3584-d1f6-4931-a355-e918379d2458"
      unitRef="number">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzYtNi0xLTEtMjMwMjg_988e8b40-0108-4d15-b261-8c0f14fefe6a"
      unitRef="number">0.014</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzctMi0xLTEtMjMwMjg_9e2e0f36-cf96-4444-bafa-2f745645eb54"
      unitRef="number">0.148</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzctNC0xLTEtMjMwMjg_ff625c87-11ba-45aa-971b-a23579b3d138"
      unitRef="number">0.030</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzctNi0xLTEtMjMwMjg_7f06782b-4db8-4126-8eb4-a7bcf9a43c47"
      unitRef="number">0.138</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsOther
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzgtMi0xLTEtMjMwMjg_5c4f9201-6c60-4dfe-9ffc-26ac6c963d37"
      unitRef="number">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsOther>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsOther
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzgtNC0xLTEtMjMwMjg_458c3e18-27fb-4ac8-abc4-d2b34776f92a"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsOther>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsOther
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzgtNi0xLTEtMjMwMjg_f74d1e3f-db13-4c6c-bae3-507731918ead"
      unitRef="number">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsOther>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzEwLTItMS0xLTIzMDI4_16004fa2-bf41-4b38-bbbb-c4c088118dc0"
      unitRef="number">-0.005</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzEwLTQtMS0xLTIzMDI4_0f137d03-368a-4785-8ed4-e02e5c4e8ab4"
      unitRef="number">-0.010</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzEwLTYtMS0xLTIzMDI4_1fbe7be3-5ef1-493e-afe1-0d3dea788dc7"
      unitRef="number">-0.004</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzExLTItMS0xLTIzMDI4_fb622d7a-5a66-4755-8dfa-cad7f646631f"
      unitRef="number">0.044</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzExLTQtMS0xLTIzMDI4_6e83aa04-ca9c-44ce-b119-70be5dcaa05d"
      unitRef="number">0.007</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzExLTYtMS0xLTIzMDI4_6060c5b3-252f-478d-bd03-a210124dbaba"
      unitRef="number">0.033</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense>
    <dco:EffectiveIncomeTaxRateReconciliationChangeinDeferredTaxAssetsPercent
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzEyLTItMS0xLTIzMDI4_ee545b8e-5d9b-44ea-a8a3-aafb7810bbb5"
      unitRef="number">-0.002</dco:EffectiveIncomeTaxRateReconciliationChangeinDeferredTaxAssetsPercent>
    <dco:EffectiveIncomeTaxRateReconciliationChangeinDeferredTaxAssetsPercent
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzEyLTQtMS0xLTIzMDI4_e82678e5-4e18-41d2-b182-a3fb63fbb714"
      unitRef="number">0</dco:EffectiveIncomeTaxRateReconciliationChangeinDeferredTaxAssetsPercent>
    <dco:EffectiveIncomeTaxRateReconciliationChangeinDeferredTaxAssetsPercent
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzEyLTYtMS0xLTIzMDI4_f4dc56c6-8aae-4f2f-92e5-ec962fa22119"
      unitRef="number">-0.002</dco:EffectiveIncomeTaxRateReconciliationChangeinDeferredTaxAssetsPercent>
    <dco:EffectiveIncomeTaxRateReconciliationTaxReserves
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzE1LTItMS0xLTIzMDI4_ff65e231-740f-4a18-88df-bbb8ca39ddf4"
      unitRef="number">0</dco:EffectiveIncomeTaxRateReconciliationTaxReserves>
    <dco:EffectiveIncomeTaxRateReconciliationTaxReserves
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzE1LTQtMS0xLTIzMDI4_79546edc-b6f2-486c-9da5-0f2f743c83d9"
      unitRef="number">0.002</dco:EffectiveIncomeTaxRateReconciliationTaxReserves>
    <dco:EffectiveIncomeTaxRateReconciliationTaxReserves
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzE1LTYtMS0xLTIzMDI4_a79fc63b-4182-40ee-a5d1-e26db3dbf416"
      unitRef="number">-0.046</dco:EffectiveIncomeTaxRateReconciliationTaxReserves>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzE2LTItMS0xLTIzMDI4_dae53e5e-04b1-4f40-bf78-598d5ab02dc1"
      unitRef="number">0.013</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzE2LTQtMS0xLTIzMDI4_b8b283f1-f011-4e9e-8a84-5f838715ea78"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzE2LTYtMS0xLTIzMDI4_dfe12c88-8cb1-45e4-884f-746628c096d6"
      unitRef="number">0.010</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzE3LTItMS0xLTIzMDI4_c9862eba-009e-4f29-9f15-4a9e589ba6c7"
      unitRef="number">0.136</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzE3LTQtMS0xLTIzMDI4_726c850a-356d-4ba5-b2a0-95452d33dc18"
      unitRef="number">0.205</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTozN2NmZmViMGQ0Mjk0YTNiYjkyZDM3ZDM0M2VjZDEwNS90YWJsZXJhbmdlOjM3Y2ZmZWIwZDQyOTRhM2JiOTJkMzdkMzQzZWNkMTA1XzE3LTYtMS0xLTIzMDI4_242ce91b-dd25-4fea-a699-3dce9cf6d0c2"
      unitRef="number">0.088</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzE3ODM_09469bbb-6bfa-4818-847b-ebf215a9817c"
      unitRef="number">0.034</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzE5MDQ_a52c8544-c820-477a-9f6b-7a9dae2dee36"
      unitRef="usd">4900000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzE5MDg_874853eb-5381-4dcf-93d7-73f03d5be6a9"
      unitRef="usd">4400000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i135be3338504467c88a3e6b8d068dc04_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzE5MTY_41dce8d8-9134-43c3-bed9-64809cfbe8a5"
      unitRef="usd">4100000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzIyMDc_736950ae-2ff0-4649-838b-5490dab0720f"
      unitRef="usd">2500000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzIzODU_27e20766-bea6-4479-bcda-fee6d9ec1dff"
      unitRef="usd">600000</us-gaap:DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible>
    <us-gaap:SummaryOfIncomeTaxContingenciesTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzYxODA_270e8427-4868-4cbd-bbe3-64a7aa4e56fb">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A reconciliation of the beginning and ending amount of unrecognized tax benefits was as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.231%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.392%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Years&#160;Ended&#160;December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at January&#160;1,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,663&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions for tax positions related to the current year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions for tax positions related to prior years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reductions for tax positions related to prior years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reductions for lapse of statute of limitations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(670)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(376)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,169)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December&#160;31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,944&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SummaryOfIncomeTaxContingenciesTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzItMi0xLTEtMjMwMjg_eb8f88dc-d214-4109-ad2e-af356f4d6a4f"
      unitRef="usd">4435000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i135be3338504467c88a3e6b8d068dc04_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzItNC0xLTEtMjMwMjg_ca141259-8d4e-46eb-9cfa-7f465fb505f1"
      unitRef="usd">4069000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ia1ce740f93534beeb0ed3a80118f1138_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzItNi0xLTEtMjMwMjg_87d8d9aa-9c6f-4668-828e-3ddca036d1d0"
      unitRef="usd">5663000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzMtMi0xLTEtMjMwMjg_63d82318-d5be-4614-aefa-bc60e366112e"
      unitRef="usd">1177000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzMtNC0xLTEtMjMwMjg_0c886825-f866-4600-856a-d552427ee2a3"
      unitRef="usd">562000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzMtNi0xLTEtMjMwMjg_6d1e55a8-2acf-42ef-9362-544fe6818cb7"
      unitRef="usd">418000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzQtMi0xLTEtMjMwMjg_1d1631f3-c32e-4d19-be89-1486800ccef0"
      unitRef="usd">15000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzQtNC0xLTEtMjMwMjg_532c8856-e270-4b36-b9ae-bab0f62fc80a"
      unitRef="usd">180000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzQtNi0xLTEtMjMwMjg_d0d30730-43aa-4503-95fd-e2dc7e81e06a"
      unitRef="usd">157000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzUtMi0xLTEtMjMwMjg_af1ade50-3e90-49b6-844a-9be0a200d1a9"
      unitRef="usd">13000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzUtNC0xLTEtMjMwMjg_d3c7e557-0fb4-4962-b971-e02dcb3ba334"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzUtNi0xLTEtMjMwMjg_623bbb35-cc77-4b93-b5e3-1b3ab2db90f9"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzYtMi0xLTEtMjMwMjg_ac664dad-4caa-414e-a767-a39c6dc742d6"
      unitRef="usd">670000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzYtNC0xLTEtMjMwMjg_23d985f9-4ff4-40bf-948a-0da72e1812ec"
      unitRef="usd">376000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzYtNi0xLTEtMjMwMjg_a20c2ab1-f080-45ae-ae58-59633559ebf1"
      unitRef="usd">2169000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzctMi0xLTEtMjMwMjg_dd4efc81-afec-4db1-a114-266132e09c62"
      unitRef="usd">4944000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzctNC0xLTEtMjMwMjg_ebbaf3b1-26cc-484d-b86f-54e58fc61126"
      unitRef="usd">4435000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i135be3338504467c88a3e6b8d068dc04_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90YWJsZTpjYmIxZTUxODNhYWE0NzJiOWI4NzExODcyZjFmNGE0Mi90YWJsZXJhbmdlOmNiYjFlNTE4M2FhYTQ3MmI5Yjg3MTE4NzJmMWY0YTQyXzctNi0xLTEtMjMwMjg_7ee259d9-5207-44f9-a285-f4127c04b76f"
      unitRef="usd">4069000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther
      contextRef="i135be3338504467c88a3e6b8d068dc04_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzM3NzE_ae2b7ef8-50cc-4e77-b5eb-660cd165df40"
      unitRef="usd">6100000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpense
      contextRef="i135be3338504467c88a3e6b8d068dc04_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzM4MjE_561fe308-2b01-4cda-92ce-00d2cdc22a0d"
      unitRef="usd">1400000</us-gaap:DeferredTaxAssetsTaxDeferredExpense>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjYvZnJhZzo4OGU5N2QzYjE2ZDk0YWVjYWJiODQ2NTIwZGQ5MjRmMi90ZXh0cmVnaW9uOjg4ZTk3ZDNiMTZkOTRhZWNhYmI4NDY1MjBkZDkyNGYyXzEwOTk1MTE2Mzc1ODM_b5d6275d-4414-42d7-8877-6548e9fb3dab"
      unitRef="usd">10600000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzUzMTk_46bc33d7-ae32-41e9-af97-f12fa859d8f4">Commitments and Contingencies&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2020, a representative action under California&#x2019;s Private Attorneys General Act was filed against us in the Superior Court for the State of California, County of San Bernardino. We received service of process of this complaint in January 2021. The complaint alleges violations of California&#x2019;s wage and hour laws relating to our current and former employees and seeks attorney&#x2019;s fees and penalties. We vigorously refuted and defended these claims, and reached a tentative settlement of $0.8&#160;million during the fourth quarter 2021, which was subject to court approval. Thus, we recorded accrued liabilities of $0.8&#160;million as of December&#160;31, 2021. During the second quarter of 2022, additional factual information was identified resulting in an increase in the amount of the tentative settlement to $0.9&#160;million. Therefore, we recorded an additional accrued liabilities of $0.1&#160;million for a total accrued liabilities amount of $0.9&#160;million as of the end of the second quarter of 2022 and remained unchanged as of December&#160;31, 2022 as we were awaiting final court approval of this settlement. Subsequent to December&#160;31, 2022, we received final court approval and paid the $0.9&#160;million on January 17, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Structural Systems has been directed by California environmental agencies to investigate and take corrective action for groundwater contamination at our facilities located in El Mirage and Monrovia, California. Based on currently available information, we have established an accrual for its estimated liability for such investigation and corrective action of $1.5 million as of both December&#160;31, 2022 and December&#160;31, 2021, which is reflected in other long-term liabilities on our consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Structural Systems also faces liability as a potentially responsible party for hazardous waste disposed at landfills located in Casmalia and West Covina, California. Structural Systems and other companies and government entities have entered into consent decrees with respect to these landfills with the United States Environmental Protection Agency and/or California environmental agencies under which certain investigation, remediation and maintenance activities are being performed. Based on currently available information, we preliminarily estimate that the range of our future liabilities in connection with the landfill located in West Covina, California is between $0.4 million and $3.1 million. We have established an accrual for the estimated liability in connection with the West Covina landfill of $0.4 million as of both December&#160;31, 2022 and December&#160;31, 2021, which is reflected in other long-term liabilities on our consolidated balance sheets. Our ultimate liability in connection with these matters will depend upon a number of factors, including changes in existing laws and regulations, the design and cost of construction, operation and maintenance activities, and the allocation of liability among potentially responsible parties.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2020, a fire severely damaged our performance center in Guaymas, Mexico, which is part of our Structural Systems segment. There were no injuries, however, property and equipment, inventories, and tooling in this leased facility were damaged. Our Guaymas performance center is comprised of two buildings with an aggregate total of 62,000 square feet. The loss of production from the Guaymas performance center is being absorbed by our other existing performance centers. A neighboring, non-related manufacturing facility, also suffered fire damage during the same time as the fire that severely damaged our Guaymas performance center. The cause of the fire is still undetermined and as such, there is no amount of loss that is probable and reasonably estimable at this time. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our insurance covers damage, up to a capped amount, to the facility, equipment, unfinished inventory, and other assets at replacement cost, finished goods inventory at selling price, as well as business interruption, third party property damage, and recovery related expenses caused by the fire, less our per claim deductible. The anticipated insurance recoveries related to losses and incremental costs incurred are recognized when receipt is probable. The anticipated insurance recoveries in excess of net book value of the damaged operating assets and business interruption will not be recorded until all contingencies related to our claim have been resolved. During the year ended December 31, 2020, $0.8&#160;million of revenue and $0.5&#160;million of related cost of sales were reversed for revenue previously recognized using the over time method as the revenue recognition process for these items were deemed to be interrupted as a result of these inventory items being damaged. Also during the year ended December 31, 2020, we wrote off property and equipment and tooling with an aggregate total net book value of $7.1&#160;million and inventory on hand of $3.4&#160;million that were damaged by the fire. The related anticipated insurance recoveries were also presented within the same financial statement line item in the consolidated statements of income resulting in no net impact, with the anticipated insurance recoveries receivable included as part of other current assets on the consolidated balance sheets. During the year ended December 31, 2022, we received insurance recoveries in aggregate total of $5.4&#160;million for business &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;interruption and since the contingencies related to this amount are deemed to be resolved, we recorded this amount as other income. In addition, during the year ended December 31, 2022, we received insurance recoveries of $1.0&#160;million for property and equipment and tooling damage and since the contingencies related to property and equipment and tooling were not deemed to be resolved, we did not recognize it as other income during the year ended December 31, 2022. Further, as of December&#160;31, 2022, we have received $13.5&#160;million of general insurance recoveries, all during 2020. The timing of and the remaining amounts of insurance recoveries, including for business interruption, are not known at this time.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the normal course of business, Ducommun and its subsidiaries are defendants in certain other litigation, claims and inquiries, including matters relating to environmental laws. In addition, Ducommun makes various commitments and incurs contingent liabilities in the ordinary course of business. While it is not feasible to predict the outcome of these matters, Ducommun does not presently expect that any sum it may be required to pay in connection with these matters would have a material adverse effect on its consolidated financial position, results of operations or cash flows.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LitigationReserve
      contextRef="i9c080f352dbe463ab30f4e731834b978_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzU0NA_5174f2b7-861c-4245-833f-17b057b558fd"
      unitRef="usd">800000</us-gaap:LitigationReserve>
    <us-gaap:LitigationReserve
      contextRef="i9c080f352dbe463ab30f4e731834b978_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzEwOTk1MTE2MzMxMDI_5174f2b7-861c-4245-833f-17b057b558fd"
      unitRef="usd">800000</us-gaap:LitigationReserve>
    <us-gaap:LitigationReserve
      contextRef="ia656de471f88474ab5a8e3de78bd12cf_I20220702"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzc2OTY1ODE0MDE2NzI_289cc101-e1bd-4fa8-a531-02b3b68056eb"
      unitRef="usd">900000</us-gaap:LitigationReserve>
    <us-gaap:LossContingencyAccrualCarryingValuePeriodIncreaseDecrease
      contextRef="icb1dc19849af496dba81fc3b38e9d802_D20220403-20220702"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzc2OTY1ODE0MDE3MDA_bb27602b-8b14-4983-979a-a893aaa1082f"
      unitRef="usd">100000</us-gaap:LossContingencyAccrualCarryingValuePeriodIncreaseDecrease>
    <us-gaap:LitigationReserve
      contextRef="i042c6de445664e2bbe82c7488d1bcb6d_I20220702"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzc2OTY1ODE0MDE2ODY_0840c83a-7171-429e-be13-eefccf7bfb2b"
      unitRef="usd">900000</us-gaap:LitigationReserve>
    <us-gaap:PaymentsForLegalSettlements
      contextRef="i46ee029902c842d5a16b9282e35aaf97_D20230117-20230117"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzc2OTY1ODE0MDE3MTQ_83499d20-3ca4-466b-ac61-db4b553cb7ef"
      unitRef="usd">900000</us-gaap:PaymentsForLegalSettlements>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="if45d9e008ce64c238ae8284daaf543f1_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzEwMjc_ac1a73af-0bb5-4559-be4d-67a4360436eb"
      unitRef="usd">1500000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="id7ad5721dcdc409ca2be93bd3881939f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzEwMjc_f75e413e-7e50-4fa7-ac2e-f357c6bc3889"
      unitRef="usd">1500000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LossContingencyEstimateOfPossibleLoss
      contextRef="i8b0d6104f38a4a469451efa2d9004a9c_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzE4MTE_f273d0e8-d86b-4328-a1cd-5e469e448391"
      unitRef="usd">400000</us-gaap:LossContingencyEstimateOfPossibleLoss>
    <us-gaap:LossContingencyEstimateOfPossibleLoss
      contextRef="i7497cf308d6e4833a18aeb55fbd5d5c6_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzE4MTg_9d5b46ed-f3d5-411a-b74e-62994fea225d"
      unitRef="usd">3100000</us-gaap:LossContingencyEstimateOfPossibleLoss>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="i7a2abebbf5c143558ad99e87f5de38c5_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzE5Mjg_e69264b8-6a26-4c8c-8366-1fea5a93bbd0"
      unitRef="usd">400000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="i4e9ce19020fe45b7a2c778d0da4c07de_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzE5Mjg_f73c8ddd-4ad1-4173-a96f-49ba5d54c100"
      unitRef="usd">400000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <dco:LossContingencyNumberOfBuildingsAffected
      contextRef="i480509088e1b4e1aa8cbe70937925ce7_I20200630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzc2OTY1ODE0MDAxNjU_3ec0a275-e999-4dba-a99c-c8520845b185"
      unitRef="building">2</dco:LossContingencyNumberOfBuildingsAffected>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i480509088e1b4e1aa8cbe70937925ce7_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzc2OTY1ODE0MDAxNjc_521630ef-0137-48d8-89b3-d1b25f1b0dcf"
      unitRef="sqft">62000</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibd3711146e0640e5b56a1fb75ff3aa48_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzM3Nzk_b38089f6-7fcd-464d-9335-08892efb1632"
      unitRef="usd">800000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ibd3711146e0640e5b56a1fb75ff3aa48_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzM3OTc_6b5043fc-c49a-4b6a-8b3e-b9385553b6d3"
      unitRef="usd">500000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:ImpairedAssetsToBeDisposedOfByMethodOtherThanSaleCarryingValueOfAsset
      contextRef="i8dcceca04a174a1fa48234ed8a34a2b6_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzQxNTQ_a1abcd19-039c-4950-8f95-9663a1c4b942"
      unitRef="usd">7100000</us-gaap:ImpairedAssetsToBeDisposedOfByMethodOtherThanSaleCarryingValueOfAsset>
    <us-gaap:ImpairedAssetsToBeDisposedOfByMethodOtherThanSaleCarryingValueOfAsset
      contextRef="ia1640dcefd254316badc8b0217ec3f8e_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzQxODI_afbd697d-de3a-49b2-bac3-5fa60d1ef0b7"
      unitRef="usd">3400000</us-gaap:ImpairedAssetsToBeDisposedOfByMethodOtherThanSaleCarryingValueOfAsset>
    <us-gaap:LossContingencyReceivableProceeds
      contextRef="i2317df220ff344059e72c6afcef22b09_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzEwOTk1MTE2MzMzODA_736672bf-0762-4c53-84bf-592716df85a7"
      unitRef="usd">5400000</us-gaap:LossContingencyReceivableProceeds>
    <us-gaap:LossContingencyReceivableProceeds
      contextRef="ifcab7f3c4deb45a4adcfbbadcf883f7e_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzc2OTY1ODE0MDE3Mjg_bc059fcb-f9c4-4a69-b31c-77e58139d13c"
      unitRef="usd">1000000</us-gaap:LossContingencyReceivableProceeds>
    <us-gaap:LossContingencyReceivableProceeds
      contextRef="i1a47181bfd2d4c38ba6b671fe24e2f84_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNjkvZnJhZzpjODNkMDk3ZGQ1MDc0MjliYjUyZjE4OWQzYzQ1OGFjMS90ZXh0cmVnaW9uOmM4M2QwOTdkZDUwNzQyOWJiNTJmMTg5ZDNjNDU4YWMxXzQ1MzY_92893818-bec7-4a43-9db3-3245561a9a9c"
      unitRef="usd">13500000</us-gaap:LossContingencyReceivableProceeds>
    <us-gaap:ConcentrationRiskDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90ZXh0cmVnaW9uOjdlZWZlMDc4NjU1MzRjZTBhOGUxMWNiZjAzY2E0OTc4XzE4ODQ_0ef090c9-52a0-448d-b6a1-8a65854c3917">Major Customers and Concentrations of Credit Risk&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We provide proprietary products and services to the Department of Defense and various United States Government agencies, and most of the aerospace and aircraft manufacturers who receive contracts directly from the U.S. Government as an original equipment manufacturer (&#x201c;Primes&#x201d;). In addition, we also service technology-driven markets in the industrial, medical and other end-use markets. As a result, we have significant net revenues from certain customers. Accounts receivable were diversified over a number of different commercial, military and space programs and were made by both operating segments. Net revenues from our top ten customers, including The Boeing Company (&#x201c;Boeing&#x201d;), General Dynamics Corporation (&#x201c;GD&#x201d;), Lockheed Martin Corporation (&#x201c;Lockheed Martin&#x201d;), Northrop Grumman Corporation (&#x201c;Northrop&#x201d;), Raytheon Technologies Corporation (&#x201c;Raytheon&#x201d;), Spirit AeroSystems Holdings, Inc. (&#x201c;Spirit&#x201d;), and Viasat, Inc. (&#x201c;Viasat&#x201d;), represented the following percentages of total net revenues:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:52.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.733%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Boeing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;GD&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lockheed Martin&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Northrop&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raytheon&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Spirit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Viasat&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Top ten customers&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt; (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) Includes Boeing, GD, Lockheed Martin, Northrop, Raytheon, and Spirit for 2022, 2021, and 2020, and Viasat for 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Boeing, GD, Lockheed Martin, Northrop, Raytheon, Spirit, and Viasat represented the following percentages of total accounts receivable:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.419%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.905%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.908%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Boeing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;GD&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lockheed Martin&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Northrop&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raytheon&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Spirit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Viasat&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2022, 2021 and 2020, net revenues from foreign customers based on the location of the customer were $60.7 million, $43.6 million and $58.5 million, respectively. No net revenues from a foreign country were greater than 3.0% of total net revenues in 2022, 2021, and 2020. We have manufacturing facilities in Thailand and Mexico. Our net revenues, profitability and identifiable long-lived assets attributable to foreign revenues activity were not material compared to our net revenues, &lt;/span&gt;&lt;/div&gt;profitability and identifiable long-lived assets attributable to our domestic operations during 2022, 2021, and 2020. We are not subject to any significant foreign currency risks as all our sales are made in United States dollars.</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90ZXh0cmVnaW9uOjdlZWZlMDc4NjU1MzRjZTBhOGUxMWNiZjAzY2E0OTc4XzE4ODc_3bca8ba7-bd8b-49d4-ac5c-ffaf4b86f972">Net revenues from our top ten customers, including The Boeing Company (&#x201c;Boeing&#x201d;), General Dynamics Corporation (&#x201c;GD&#x201d;), Lockheed Martin Corporation (&#x201c;Lockheed Martin&#x201d;), Northrop Grumman Corporation (&#x201c;Northrop&#x201d;), Raytheon Technologies Corporation (&#x201c;Raytheon&#x201d;), Spirit AeroSystems Holdings, Inc. (&#x201c;Spirit&#x201d;), and Viasat, Inc. (&#x201c;Viasat&#x201d;), represented the following percentages of total net revenues:&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:52.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.733%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Boeing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;GD&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lockheed Martin&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Northrop&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raytheon&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Spirit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Viasat&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Top ten customers&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt; (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) Includes Boeing, GD, Lockheed Martin, Northrop, Raytheon, and Spirit for 2022, 2021, and 2020, and Viasat for 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Boeing, GD, Lockheed Martin, Northrop, Raytheon, Spirit, and Viasat represented the following percentages of total accounts receivable:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.419%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.905%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.908%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Boeing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;GD&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lockheed Martin&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Northrop&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raytheon&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Spirit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Viasat&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ic4ddd4e4fcc047839993f11893397f5c_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzItMi0xLTEtMjMwMjg_d87f6045-bc6b-40a1-bae3-3d629e769f0b"
      unitRef="number">0.067</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="if0f3391491c34f139381645fdecdc1e5_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzItNC0xLTEtMjMwMjg_0bc7c29e-68d0-4d6d-b791-57994eeac3b8"
      unitRef="number">0.078</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i031d6c9369d84c5b8c6c32ce2881ac54_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzItNi0xLTEtMjMwMjg_8414ffca-d447-4747-bcc4-35d098812505"
      unitRef="number">0.105</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i5eb6703ccecc49eb8fb73c66e2c14138_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzMtMi0xLTEtNDkyMDU_4818fb40-9769-4910-b365-40422264ea45"
      unitRef="number">0.057</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ica7f9625f0a245d2971549788d762e6d_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzMtNC0xLTEtNDkyMDU_83a25ed4-b50f-46df-b3dc-50bb1486446f"
      unitRef="number">0.030</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3d1c2a9087f84f5790567c7fe2e3aea0_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzMtNi0xLTEtNDkyMDU_9dff5e74-76b5-4d7b-85ec-d7c3300f99bf"
      unitRef="number">0.025</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ic72e73e466fc4bcd9a0b8bb4c4d0d322_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzMtMi0xLTEtMjMwMjg_5b2e8f3e-cd60-4f74-98b5-a6ddd5f3e9d7"
      unitRef="number">0.035</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8927dfef75734e4191efe2d0792be27f_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzMtNC0xLTEtMjMwMjg_09a1d1a5-2710-4da2-9de0-41d7f59e8ac9"
      unitRef="number">0.044</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="if4d07483d5ec4031825acbc545a1207c_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzMtNi0xLTEtMjMwMjg_69837d24-163f-42ce-a73b-c0d19bbefcd6"
      unitRef="number">0.050</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i545c08c2c265445fbb3c8b31349f507b_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzQtMi0xLTEtMjMwMjg_ac6b2ac6-480d-4483-8031-987f544e33c8"
      unitRef="number">0.057</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iadbcc122c65d4aa590f622b555820840_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzQtNC0xLTEtMjMwMjg_6263be51-2ff3-4098-941f-07842b8353b8"
      unitRef="number">0.071</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="idb6fa458a234406994315d36682f42fd_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzQtNi0xLTEtMjMwMjg_5b4aadb0-0405-4663-af53-750c45423a4a"
      unitRef="number">0.091</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i29fa125f4834434f9a6a2abac0906286_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzUtMi0xLTEtMjMwMjg_814f5379-b7c8-4198-8a57-420daafb6a67"
      unitRef="number">0.216</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4194ff5985504b649e46373dba983e87_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzUtNC0xLTEtMjMwMjg_6c43f58c-e844-4607-a793-3ed801fcd737"
      unitRef="number">0.244</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia07510ae82c940e083f3d18e3e036ca5_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzUtNi0xLTEtMjMwMjg_fc94aefd-80a3-44a9-aa80-aa777fecf652"
      unitRef="number">0.209</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i087edf30966d4bc5ab35596ebb86e323_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzYtMi0xLTEtMjMwMjg_9353c132-c2bb-4049-985c-c9cf3fbf38d5"
      unitRef="number">0.057</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i56a29cba39cb44a59d9faee6744756f2_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzYtNC0xLTEtMjMwMjg_d5a7cbc9-7c2a-4271-9afc-e151f2c57b22"
      unitRef="number">0.038</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ic4d570f31eae4f4b93b9f93401ad1c0f_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzYtNi0xLTEtMjMwMjg_edfd3eda-ce50-47fa-b4e8-1cb0cacb10ab"
      unitRef="number">0.033</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i92f338d2c2154c1eac3d40b36ef9a222_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzgtMi0xLTEtNDkxOTk_d1551ce3-9d06-4987-b8bb-52f3829d3ea2"
      unitRef="number">0.054</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3a256229926345b286503c3bc646de40_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzgtNC0xLTEtNDkxOTk_7daa9dd4-db16-467c-b7eb-ff36a9a0b5f1"
      unitRef="number">0.026</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4c6544d3459b4c8ea3c8b8eb15ec75c7_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzgtNi0xLTEtNDkxOTk_18cbb3bc-fafe-4f7a-8001-f23432687753"
      unitRef="number">0.017</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia0fd735b6aab43b09977f48b71f1e9b8_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzctMi0xLTEtMjMwMjg_6c2af22e-c2ef-4855-8041-03a3b163646b"
      unitRef="number">0.614</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i74eda6d26c9949ac94089c5f47e083a9_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzctNC0xLTEtMjMwMjg_d275a1ec-98cf-454f-9c9f-15fcbeb0a2ad"
      unitRef="number">0.611</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i1ce85f8793a648f4935d3e77c5f7de8e_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZToxMjM3YjI3ZWExOGE0YzM0YmJjOWMwYzRmMWEyMDZkNS90YWJsZXJhbmdlOjEyMzdiMjdlYTE4YTRjMzRiYmM5YzBjNGYxYTIwNmQ1XzctNi0xLTEtMjMwMjg_65f28916-9c4f-42f3-81dd-a80351037269"
      unitRef="number">0.611</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="id26f3a767a2d447fa192b0543d31c9a7_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzItMi0xLTEtMjMwMjg_385a4735-c59e-412b-a6d2-d97bdad5ceb1"
      unitRef="number">0.038</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i99ec262792394233973da81faa8d6c64_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzItNC0xLTEtMjMwMjg_ce1114bb-bec3-4df2-b8f1-ea29b634b623"
      unitRef="number">0.035</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i89709fe956524dcc8fa927573b123b5b_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzMtMi0xLTEtNDkyMDc_b8e2291f-0c31-40c6-9e08-97ec5b919421"
      unitRef="number">0.034</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ied606f4eeb0549e4abe768f1cb5c1336_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzMtNC0xLTEtNDkyMDc_6ec4d4ca-ecdc-4507-90a9-ceb859414623"
      unitRef="number">0.040</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i1b45d8203b09457c920ed544bea1500d_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzMtMi0xLTEtMjMwMjg_5d97e705-fc7e-4029-a677-e2b8a56982a4"
      unitRef="number">0.010</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ie59a15a55aa1412ca0f946bfb08b52ff_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzMtNC0xLTEtMjMwMjg_c03b50e2-597a-4734-bddc-f947e93f7231"
      unitRef="number">0.004</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i176b32aa724a4d9e9dc325ab8c36396d_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzQtMi0xLTEtMjMwMjg_29309a5d-888b-439a-bf8e-2fb93af7fc0a"
      unitRef="number">0.130</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i47eaceb7c7864778b69d5812a0075da3_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzQtNC0xLTEtMjMwMjg_65280718-c3f7-475f-8f0b-6fc98fd242aa"
      unitRef="number">0.109</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i82cd34f328534429b13e04f60b1bb1d8_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzUtMi0xLTEtMjMwMjg_d614a20c-2929-498e-9e8a-3c90f1649eee"
      unitRef="number">0.162</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iaa037ab55b754628ae19e037f3257644_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzUtNC0xLTEtMjMwMjg_f606c79f-3700-4dd7-9053-45a1870fe7a4"
      unitRef="number">0.178</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i6019101de26d413d8d0b5c8bf842da02_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzYtMi0xLTEtMjMwMjg_203f1a35-629e-4d2d-b94f-dd8da4e6f689"
      unitRef="number">0.010</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i1c938746ea30490286d0bc5b02edd244_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzYtNC0xLTEtMjMwMjg_ed6ba58e-0cfb-4f24-9847-cf468b182078"
      unitRef="number">0.007</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i67c7ab04be084bf8872921b39ceb2809_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzgtMi0xLTEtNDkyMDE_3f79b697-f4b2-40c3-a33d-bfb8f66f132d"
      unitRef="number">0.103</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i13bb790aca6747c1891788e8eff140da_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90YWJsZTo0MDk1ZGI0MGZmZTk0N2NhOGI0NTE1ZWU0ZTY2YzA1NS90YWJsZXJhbmdlOjQwOTVkYjQwZmZlOTQ3Y2E4YjQ1MTVlZTRlNjZjMDU1XzgtNC0xLTEtNDkyMDE_9f0c1dea-7434-4d3e-bab3-f071aa68ad1d"
      unitRef="number">0.043</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iab0575f5588b46d38fb0d5b671fc591d_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90ZXh0cmVnaW9uOjdlZWZlMDc4NjU1MzRjZTBhOGUxMWNiZjAzY2E0OTc4XzEyOTk_dd8b6222-eea0-4cd6-b271-52aafb1e8a0d"
      unitRef="usd">60700000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i95cf95594538472ebed567acf27eb239_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90ZXh0cmVnaW9uOjdlZWZlMDc4NjU1MzRjZTBhOGUxMWNiZjAzY2E0OTc4XzEzMDM_6313a008-5319-4055-bd63-3b4ad166c605"
      unitRef="usd">43600000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9ffc2e2c0adc4c11911bac29af310d28_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90ZXh0cmVnaW9uOjdlZWZlMDc4NjU1MzRjZTBhOGUxMWNiZjAzY2E0OTc4XzEzMTA_dc45d580-ea26-4dfe-ba0e-ba4f057d012a"
      unitRef="usd">58500000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <dco:PercentageOfNetSales
      contextRef="i8fc36f5d8c9547f28a4c1ffb26132b8f_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90ZXh0cmVnaW9uOjdlZWZlMDc4NjU1MzRjZTBhOGUxMWNiZjAzY2E0OTc4XzEzODU_5eea3459-1bc5-4bd0-9a13-90471765b396"
      unitRef="number">0.030</dco:PercentageOfNetSales>
    <dco:PercentageOfNetSales
      contextRef="i10b5a39211bf4fd7acba18e449706eab_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90ZXh0cmVnaW9uOjdlZWZlMDc4NjU1MzRjZTBhOGUxMWNiZjAzY2E0OTc4XzEzODU_9b8e40b0-1b1c-4e7d-8993-c6ee90136a60"
      unitRef="number">0.030</dco:PercentageOfNetSales>
    <dco:PercentageOfNetSales
      contextRef="i7a824238d0d24714851195bcee5dfa42_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzIvZnJhZzo3ZWVmZTA3ODY1NTM0Y2UwYThlMTFjYmYwM2NhNDk3OC90ZXh0cmVnaW9uOjdlZWZlMDc4NjU1MzRjZTBhOGUxMWNiZjAzY2E0OTc4XzEzODU_e4bf746e-1999-44de-90f6-f01b5b0832e8"
      unitRef="number">0.030</dco:PercentageOfNetSales>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90ZXh0cmVnaW9uOmU3NjhlMWQzMzFmODQyNGY4MWIwOTUzMzYwZWU4MWYwXzE1MTg_80c6e36d-1376-49d3-a903-69ac9471c5d4">Business Segment Information&lt;div style="margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We supply products and services primarily to the aerospace and defense industries. Our subsidiaries are organized into two strategic businesses, Electronic Systems and Structural Systems, each of which is an operating segment as well as a reportable segment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial information by reportable segment was as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:52.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.733%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;440,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;412,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;392,633&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;232,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;236,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Net Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;712,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;645,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;628,941&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment Operating Income (Loss) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate General and Administrative Expenses &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27,313)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(28,982)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25,972)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating Income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and Amortization Expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,212&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,559&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Administration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Depreciation and Amortization Expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital Expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,463&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Administration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Capital Expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;The results for 2021 include MagSeal&#x2019;s results of operations which have been included in our consolidated statements of income since the date of acquisition as part of the Structural Systems segment. See Note&#160;2.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Includes costs not allocated to either the Electronic Systems or Structural Systems operating segments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Segment assets include assets directly identifiable with each segment. Corporate assets include assets not specifically identified with a business segment, including cash. The following table summarizes our segment assets for 2022 and 2021:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.324%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;543,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;490,814&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;410,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;408,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Administration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,021,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;978,735&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill and Intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;182,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;148,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Goodwill and Intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;345,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2021, we acquired 100.0% of the outstanding equity interests of MagSeal for an original purchase price of $69.5 million, net of cash acquired. We allocated the final gross purchase price of $70.9 million to the assets acquired and liabilities assumed at their estimated fair values. The excess of the purchase price over the aggregate fair values of the net assets was recorded as goodwill. See Note&#160;2.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90ZXh0cmVnaW9uOmU3NjhlMWQzMzFmODQyNGY4MWIwOTUzMzYwZWU4MWYwXzE2Mg_f5b7f41a-173d-43ab-b49b-f13037f0cc6a"
      unitRef="segment">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90ZXh0cmVnaW9uOmU3NjhlMWQzMzFmODQyNGY4MWIwOTUzMzYwZWU4MWYwXzE1MTU_69d5c06b-5ad1-4847-b9da-0310829ebd24">&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial information by reportable segment was as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:52.497%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.733%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;440,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;412,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;392,633&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;232,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;236,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Net Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;712,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;645,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;628,941&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment Operating Income (Loss) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate General and Administrative Expenses &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27,313)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(28,982)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25,972)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating Income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and Amortization Expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,212&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,559&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Administration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Depreciation and Amortization Expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital Expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,463&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Administration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Capital Expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;The results for 2021 include MagSeal&#x2019;s results of operations which have been included in our consolidated statements of income since the date of acquisition as part of the Structural Systems segment. See Note&#160;2.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Includes costs not allocated to either the Electronic Systems or Structural Systems operating segments.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iea4330cbcccf4bda863ff9945e99bfab_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzMtMi0xLTEtMjMwMjg_ad029331-c964-471e-9a74-74ba1de71266"
      unitRef="usd">440638000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i048a8502f826475babcd7e0ac440c81a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzMtNC0xLTEtMjMwMjg_49678ea6-4a04-4c9b-9ee9-5dbfd62d2672"
      unitRef="usd">412648000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie391ca302e5a49fdbf80d9b0f9d5032b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzMtNi0xLTEtMjMwMjg_ea612d33-3b3b-460c-bf15-7e711efe239e"
      unitRef="usd">392633000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i43b212c13d45473989a853fd65846763_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzQtMi0xLTEtMjMwMjg_f5e6c652-ab9d-4b99-8d0c-73bb38d9e7b4"
      unitRef="usd">271899000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i38e57fb4962241149cb8eff37a3935bc_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzQtNC0xLTEtMjMwMjg_22f6ba18-88b3-4711-ab81-310bbe9fc48e"
      unitRef="usd">232765000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1773e15419b6464db186b1f2071e79d9_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzQtNi0xLTEtMjMwMjg_be425d19-8246-44ca-b0e9-6ac96a5d5e11"
      unitRef="usd">236308000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzUtMi0xLTEtMjMwMjg_a58b7b6a-7259-4513-a68c-5188757408ac"
      unitRef="usd">712537000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzUtNC0xLTEtMjMwMjg_aa7b2a6b-5c76-44c5-b466-3adaf2425782"
      unitRef="usd">645413000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzUtNi0xLTEtMjMwMjg_834c3108-aa01-4a5a-b600-78d89a64d813"
      unitRef="usd">628941000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="iea4330cbcccf4bda863ff9945e99bfab_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzctMi0xLTEtMjMwMjg_a65f423c-33b0-4636-b978-09972a015f7a"
      unitRef="usd">49876000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i048a8502f826475babcd7e0ac440c81a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzctNC0xLTEtMjMwMjg_75a38b35-7f5f-45c4-9989-40a5a551fe4a"
      unitRef="usd">57629000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ie391ca302e5a49fdbf80d9b0f9d5032b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzctNi0xLTEtMjMwMjg_14b29d90-da22-45af-9ab3-99391b10fd00"
      unitRef="usd">51894000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i43b212c13d45473989a853fd65846763_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzgtMi0xLTEtMjMwMjg_c7028092-bcc4-44bf-93e9-e87adbc47f77"
      unitRef="usd">17225000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i38e57fb4962241149cb8eff37a3935bc_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzgtNC0xLTEtMjMwMjg_48ac28c4-79cc-4530-bc7a-74c0a13573e6"
      unitRef="usd">20234000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1773e15419b6464db186b1f2071e79d9_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzgtNi0xLTEtMjMwMjg_9c20a570-f491-4041-94a9-aad53ec4b2d5"
      unitRef="usd">19584000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i327133bff0e74a6ab3faf682eb6afe07_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzktMi0xLTEtMjMwMjg_fe9c0da0-d619-4f32-b097-05e6e9bad52b"
      unitRef="usd">67101000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1ecf301b704d4a6482860acacab2d047_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzktNC0xLTEtMjMwMjg_c0aedff6-5cab-4041-9fa8-436a87ee449c"
      unitRef="usd">77863000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i02d0eb13009746f88a59b83728c09bb7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzktNi0xLTEtMjMwMjg_6cf7b73d-6df1-48a6-814b-784969db09b9"
      unitRef="usd">71478000</us-gaap:OperatingIncomeLoss>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i660571009f4e4ae4916ee3de6063a3dd_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzEwLTItMS0xLTIzMDI4_d0e0d559-0c4e-4d7a-92d6-b3efb7ac54cc"
      unitRef="usd">27313000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="iacd006ecb0a04699b29c912740f559b5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzEwLTQtMS0xLTIzMDI4_c5c736cb-c036-477a-8ac7-9631333a80e0"
      unitRef="usd">28982000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i9ec19b3356ae4f96b3564c46b121cdb0_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzEwLTYtMS0xLTIzMDI4_578f0a01-34a4-485f-9f2a-56d3e84d3acc"
      unitRef="usd">25972000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzExLTItMS0xLTIzMDI4_9e038629-06ec-4852-9a36-97c41ede796c"
      unitRef="usd">39788000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzExLTQtMS0xLTIzMDI4_6b38bb78-7841-426b-9d85-a1e4aa6d1061"
      unitRef="usd">48881000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzExLTYtMS0xLTIzMDI4_deb4e231-a75a-4f69-b9e5-710c45c3c028"
      unitRef="usd">45506000</us-gaap:OperatingIncomeLoss>
    <us-gaap:DepreciationAndAmortization
      contextRef="iea4330cbcccf4bda863ff9945e99bfab_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzEzLTItMS0xLTIzMDI4_827ac438-59c7-4277-b912-368e3d33cd93"
      unitRef="usd">13974000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i048a8502f826475babcd7e0ac440c81a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzEzLTQtMS0xLTIzMDI4_d2394b40-1784-4d25-8bc8-faf1e7aeaeb2"
      unitRef="usd">13823000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="ie391ca302e5a49fdbf80d9b0f9d5032b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzEzLTYtMS0xLTIzMDI4_b4ceabc9-6252-4c35-9a49-6344a18d51ee"
      unitRef="usd">14038000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i43b212c13d45473989a853fd65846763_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE0LTItMS0xLTIzMDI4_e7e23ed9-ce84-4b51-88e8-81a79866eff7"
      unitRef="usd">17212000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i38e57fb4962241149cb8eff37a3935bc_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE0LTQtMS0xLTIzMDI4_971dd0ea-4232-4334-bcb4-73accdc7b0df"
      unitRef="usd">14331000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i1773e15419b6464db186b1f2071e79d9_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE0LTYtMS0xLTIzMDI4_756cbf30-741e-41c5-bdf1-559c759ea299"
      unitRef="usd">14559000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i660571009f4e4ae4916ee3de6063a3dd_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE1LTItMS0xLTIzMDI4_9211eceb-ec75-413e-8dce-be7f7f33330d"
      unitRef="usd">235000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="iacd006ecb0a04699b29c912740f559b5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE1LTQtMS0xLTIzMDI4_c5111c40-1a9f-45f2-ba2d-724c18be4917"
      unitRef="usd">235000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i9ec19b3356ae4f96b3564c46b121cdb0_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE1LTYtMS0xLTIzMDI4_3aedacf2-0532-4b7e-bd37-e5a103359dab"
      unitRef="usd">253000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE2LTItMS0xLTIzMDI4_a06ffe87-109b-4f87-a183-b37ad7060cdc"
      unitRef="usd">31421000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE2LTQtMS0xLTIzMDI4_07fad927-9aab-4a18-b9d1-d3d9fc5ee64e"
      unitRef="usd">28389000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE2LTYtMS0xLTIzMDI4_8ba060a4-79fe-4393-a89d-650fe68b2c7a"
      unitRef="usd">28850000</us-gaap:DepreciationAndAmortization>
    <dco:CapitalExpenditures
      contextRef="iea4330cbcccf4bda863ff9945e99bfab_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE4LTItMS0xLTIzMDI4_c8a05bae-04b9-4661-b81e-1034f93b39b5"
      unitRef="usd">10717000</dco:CapitalExpenditures>
    <dco:CapitalExpenditures
      contextRef="i048a8502f826475babcd7e0ac440c81a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE4LTQtMS0xLTIzMDI4_b078df5b-864c-4f20-9306-699099511280"
      unitRef="usd">7471000</dco:CapitalExpenditures>
    <dco:CapitalExpenditures
      contextRef="ie391ca302e5a49fdbf80d9b0f9d5032b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE4LTYtMS0xLTIzMDI4_54b8f8de-78ac-4d4a-92a1-1badf95aba12"
      unitRef="usd">5037000</dco:CapitalExpenditures>
    <dco:CapitalExpenditures
      contextRef="i43b212c13d45473989a853fd65846763_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE5LTItMS0xLTIzMDI4_00c15641-4edd-480b-b435-5195825c333f"
      unitRef="usd">8834000</dco:CapitalExpenditures>
    <dco:CapitalExpenditures
      contextRef="i38e57fb4962241149cb8eff37a3935bc_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE5LTQtMS0xLTIzMDI4_81c977d5-4add-418b-9b11-67eec527feda"
      unitRef="usd">8463000</dco:CapitalExpenditures>
    <dco:CapitalExpenditures
      contextRef="i1773e15419b6464db186b1f2071e79d9_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzE5LTYtMS0xLTIzMDI4_34241e2a-123f-40e1-aefe-f4154006448d"
      unitRef="usd">8570000</dco:CapitalExpenditures>
    <dco:CapitalExpenditures
      contextRef="i660571009f4e4ae4916ee3de6063a3dd_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzIwLTItMS0xLTIzMDI4_5fe74e3d-690e-40b6-a8ce-88083e3f5624"
      unitRef="usd">0</dco:CapitalExpenditures>
    <dco:CapitalExpenditures
      contextRef="iacd006ecb0a04699b29c912740f559b5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzIwLTQtMS0xLTIzMDI4_cc81fc73-d45f-46e6-a8f9-74737e3fe087"
      unitRef="usd">0</dco:CapitalExpenditures>
    <dco:CapitalExpenditures
      contextRef="i9ec19b3356ae4f96b3564c46b121cdb0_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzIwLTYtMS0xLTIzMDI4_2bd1480e-2e8b-415f-ac68-15b47d1f0672"
      unitRef="usd">0</dco:CapitalExpenditures>
    <dco:CapitalExpenditures
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzIxLTItMS0xLTIzMDI4_2cde53e9-0458-48d8-a422-9387689eeea5"
      unitRef="usd">19551000</dco:CapitalExpenditures>
    <dco:CapitalExpenditures
      contextRef="ia30dfbb294ed4771ba61bd29cfb6871b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzIxLTQtMS0xLTIzMDI4_7343fb8b-259f-4407-af60-f40e38d6fba1"
      unitRef="usd">15934000</dco:CapitalExpenditures>
    <dco:CapitalExpenditures
      contextRef="i4d62ed8d0539457684073a13d535a6e8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTo2Y2MxZWIxODJiNWY0MWM3YTFjYzVkYWJlYTNhNjdmMC90YWJsZXJhbmdlOjZjYzFlYjE4MmI1ZjQxYzdhMWNjNWRhYmVhM2E2N2YwXzIxLTYtMS0xLTIzMDI4_894846f8-7db5-4f68-920e-872f30eee1e1"
      unitRef="usd">13607000</dco:CapitalExpenditures>
    <us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90ZXh0cmVnaW9uOmU3NjhlMWQzMzFmODQyNGY4MWIwOTUzMzYwZWU4MWYwXzE1MDU_5be1623b-ee03-4ce0-887f-a6edc92a54bb">Corporate assets include assets not specifically identified with a business segment, including cash. The following table summarizes our segment assets for 2022 and 2021:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.324%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(In thousands)&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;543,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;490,814&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;410,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;408,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Administration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,021,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;978,735&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill and Intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Electronic Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;182,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Structural Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;148,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Goodwill and Intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;345,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock>
    <us-gaap:Assets
      contextRef="i090c0a9cdd7a49fb888fd1eb75abf871_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzMtMi0xLTEtMjMwMjg_d56111aa-3076-432b-a904-9dcf39edcf47"
      unitRef="usd">543298000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ic2c1de930f2e4ba1b507d98a323843d1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzMtNC0xLTEtMjMwMjg_c03d0915-5125-49a0-8e61-93dc4d85fb37"
      unitRef="usd">490814000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i4f9f52be2e9647ee99826ea66fcb7ba8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzQtMi0xLTEtMjMwMjg_005df00b-7e0c-4317-a13b-0f85fdf6c88c"
      unitRef="usd">410565000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ife0149af1f3e4c10b4cff3674f321a9e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzQtNC0xLTEtMjMwMjg_160aa3e8-d32a-45b1-a062-4274454b7ff0"
      unitRef="usd">408118000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i13649c4e47eb49bf8da1b71474b66af2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzUtMi0xLTEtMjMwMjg_f07b273b-f4a1-4bd4-81ef-2687963802f1"
      unitRef="usd">67643000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="iacee5d28db6649efba1bb089240ec2f5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzUtNC0xLTEtMjMwMjg_4d3f68ba-6a23-4687-b620-6dc8bee5d8fc"
      unitRef="usd">79803000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzYtMi0xLTEtMjMwMjg_6fc28f06-670f-4c00-a847-c251253bfc65"
      unitRef="usd">1021506000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzYtNC0xLTEtMjMwMjg_188281b5-ceec-427b-9bfa-18a518669ad3"
      unitRef="usd">978735000</us-gaap:Assets>
    <dco:GoodwillAndOtherIntangibleAssets
      contextRef="i090c0a9cdd7a49fb888fd1eb75abf871_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzgtMi0xLTEtMjMwMjg_28a6a2ab-b97f-4ec5-ae3d-4400e6aa4e0b"
      unitRef="usd">182501000</dco:GoodwillAndOtherIntangibleAssets>
    <dco:GoodwillAndOtherIntangibleAssets
      contextRef="ic2c1de930f2e4ba1b507d98a323843d1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzgtNC0xLTEtMjMwMjg_17800c51-bfb7-43b5-a8ec-610d0380603b"
      unitRef="usd">191789000</dco:GoodwillAndOtherIntangibleAssets>
    <dco:GoodwillAndOtherIntangibleAssets
      contextRef="i4f9f52be2e9647ee99826ea66fcb7ba8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzktMi0xLTEtMjMwMjg_30c9d3e3-ac50-4c41-9808-0bb88e779e88"
      unitRef="usd">148107000</dco:GoodwillAndOtherIntangibleAssets>
    <dco:GoodwillAndOtherIntangibleAssets
      contextRef="ife0149af1f3e4c10b4cff3674f321a9e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzktNC0xLTEtMjMwMjg_c1ed06e6-24c7-43b1-982e-e0f66060163d"
      unitRef="usd">153669000</dco:GoodwillAndOtherIntangibleAssets>
    <dco:GoodwillAndOtherIntangibleAssets
      contextRef="i3d993dbd6e66404ba11395a234d2f808_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzEwLTItMS0xLTIzMDI4_7cbfd8b9-8da0-4ee6-8cce-567b2b182851"
      unitRef="usd">330608000</dco:GoodwillAndOtherIntangibleAssets>
    <dco:GoodwillAndOtherIntangibleAssets
      contextRef="i7f800e2ef6e84a1e855f5535b50e4020_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90YWJsZTpmYWUzZDQ5NTkwNDg0NTRmYjM1NzVjNGI4ZWIxMTE2NS90YWJsZXJhbmdlOmZhZTNkNDk1OTA0ODQ1NGZiMzU3NWM0YjhlYjExMTY1XzEwLTQtMS0xLTIzMDI4_75e7aeb5-a148-4244-8666-c1b6bf120039"
      unitRef="usd">345458000</dco:GoodwillAndOtherIntangibleAssets>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90ZXh0cmVnaW9uOmU3NjhlMWQzMzFmODQyNGY4MWIwOTUzMzYwZWU4MWYwXzExNDg_3c810933-2191-4490-a1ef-e8cb5a8aebf1"
      unitRef="number">1.000</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="id67a7f76848a4c2ea391417d52ce6037_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90ZXh0cmVnaW9uOmU3NjhlMWQzMzFmODQyNGY4MWIwOTUzMzYwZWU4MWYwXzEyMjI_4b413f7c-18b9-4429-bf3c-5fb4593064b9"
      unitRef="usd">69500000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i1e824f6a0f694eb8ad20dd76944a1688_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzUvZnJhZzplNzY4ZTFkMzMxZjg0MjRmODFiMDk1MzM2MGVlODFmMC90ZXh0cmVnaW9uOmU3NjhlMWQzMzFmODQyNGY4MWIwOTUzMzYwZWU4MWYwXzEzMDE_a55d34c0-0645-436a-99f0-fbfd9bfc1b1b"
      unitRef="usd">70900000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock
      contextRef="i475ba77b869e41f5a92a95909d68446a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90ZXh0cmVnaW9uOjE4YjhiM2IzYThiZTQ3NTI4MzNhZjczYWE4OTEwZWMxXzI1OA_d98f7176-a673-4bd9-868a-b1ec9ea3de81">&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;CONSOLIDATED VALUATION AND QUALIFYING ACCOUNTS&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;YEARS ENDED DECEMBER 31, 2022, 2021, AND 2020&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(Dollars in thousands)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;SCHEDULE II&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.263%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.297%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Balance at&lt;br/&gt;Beginning&lt;br/&gt;of Period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Charged to&lt;br/&gt;(Reduction of) Costs and&lt;br/&gt;Expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deductions/(Recoveries)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Balance&#160;at&#160;  End of Period&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:2px 1pt;text-align:left;text-indent:18pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for Credit Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(74)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation Allowance on Deferred Tax Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(170)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:18pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for Credit Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;681&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation Allowance on Deferred Tax Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,612)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:2px 1pt;text-align:left;text-indent:18pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for Credit Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,321&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation Allowance on Deferred Tax Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,375&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(111)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) Includes opening balance of Nobles Worldwide, Inc. acquired in October 2019.&lt;/span&gt;&lt;/div&gt;</srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="if83ae2cfe6b54425aa6076f6eb5fb4d9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzMtMi0xLTEtMjMwMjg_a055d1db-53a6-4de3-ad35-aa7438a10cbb"
      unitRef="usd">1098000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i73ce3960413c41619534bb5f7ae9d424_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzMtNC0xLTEtMjMwMjg_b7cb8c1d-c01e-48e0-bd3e-f225bb12c641"
      unitRef="usd">-74000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i73ce3960413c41619534bb5f7ae9d424_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzMtOC0xLTEtMjMwMjg_1eaeac88-d090-4036-b4bb-fc9a7e364ffc"
      unitRef="usd">435000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired
      contextRef="i73ce3960413c41619534bb5f7ae9d424_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzMtMTAtMS0xLTIzMDI4_4b7721e4-2e0f-4cb1-ba9e-ac84014adff4"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i2aa744a28e3144cab74e5a12c2f3a3c6_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzMtMTItMS0xLTIzMDI4_1fdf872c-286f-4cdd-b144-aebc6b27a474"
      unitRef="usd">589000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ied7c5750308d4a649dd37175886cb372_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzQtMi0xLTEtMjMwMjg_753a8f99-c9ca-40d4-a9cd-b1d02dbb0f0e"
      unitRef="usd">7718000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i34b5e11ae9a54fb9a27fa1573cd9d703_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzQtNC0xLTEtMjMwMjg_72bb2303-4931-44f3-8de1-df145351b543"
      unitRef="usd">-170000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i34b5e11ae9a54fb9a27fa1573cd9d703_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzQtOC0xLTEtMjMwMjg_d860827b-22fb-49f4-a71c-b69b02585c9c"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired
      contextRef="i34b5e11ae9a54fb9a27fa1573cd9d703_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzQtMTAtMS0xLTIzMDI4_fe5a1402-2444-495e-b681-fad6aae2917e"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i46e4f62a28d346b3995967216e85f16b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzQtMTItMS0xLTIzMDI4_00217208-e275-47de-ab08-145f426e0ad2"
      unitRef="usd">7548000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ica2a67ea23c14c5bbb889434aa055f0f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzYtMi0xLTEtMjMwMjg_57cef853-d3e0-41f8-937b-689ec8970ab9"
      unitRef="usd">1552000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ica2a67ea23c14c5bbb889434aa055f0f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzYtMi0xLTEtMjMwMjg_f54f3607-644c-48d3-8208-cef5234c9d76"
      unitRef="usd">1552000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i91b6684f1f6e43a482aa92348585c2ac_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzYtNC0xLTEtMjMwMjg_811f6abe-cc42-4e0b-9e38-b49e95356f71"
      unitRef="usd">227000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i91b6684f1f6e43a482aa92348585c2ac_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzYtOC0xLTEtMjMwMjg_e4301177-efb4-4b37-93fb-ff90b96b26f7"
      unitRef="usd">681000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired
      contextRef="i91b6684f1f6e43a482aa92348585c2ac_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzYtMTAtMS0xLTIzMDI4_36ae3851-257c-48ae-8ecb-9391fc84d68a"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="if83ae2cfe6b54425aa6076f6eb5fb4d9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzYtMTItMS0xLTIzMDI4_a055d1db-53a6-4de3-ad35-aa7438a10cbb"
      unitRef="usd">1098000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="iac4c6654e9554744b1ef9bb9ac8c33a4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzctMi0xLTEtMjMwMjg_81f313ab-7ba7-466e-93f4-e40013649d16"
      unitRef="usd">9330000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="iac4c6654e9554744b1ef9bb9ac8c33a4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzctMi0xLTEtMjMwMjg_ddd0ef83-6856-4fce-9239-942ee8a49353"
      unitRef="usd">9330000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i2fd4a0b1530c417bb09caf04183fbff8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzctNC0xLTEtMjMwMjg_d70d0add-295e-4fdd-a6ab-fcc8084d786e"
      unitRef="usd">-1612000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i2fd4a0b1530c417bb09caf04183fbff8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzctOC0xLTEtMjMwMjg_7c2228d7-2876-4f9c-b402-b3db14d10c0f"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired
      contextRef="i2fd4a0b1530c417bb09caf04183fbff8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzctMTAtMS0xLTIzMDI4_62d30b65-d0d9-4cbb-a0f5-2e2ea50c4d26"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ied7c5750308d4a649dd37175886cb372_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzctMTItMS0xLTIzMDI4_753a8f99-c9ca-40d4-a9cd-b1d02dbb0f0e"
      unitRef="usd">7718000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i24add7c735a84fdc83bf9614469bac07_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzktMi0xLTEtMjMwMjg_69d2d5af-791e-489c-b8cf-ac1f7ec8e39b"
      unitRef="usd">1321000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="id7d0f11a18dd46bda854eea0741f7391_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzktNC0xLTEtMjMwMjg_4860794f-cb8f-4137-9484-2cd160bf2e9c"
      unitRef="usd">231000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesRecoveries
      contextRef="id7d0f11a18dd46bda854eea0741f7391_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzktOC0xLTEtMjMwMjg_c4617ef9-0d23-44be-afc2-15ea5b1b23bb"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesRecoveries>
    <us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired
      contextRef="id7d0f11a18dd46bda854eea0741f7391_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzktMTAtMS0xLTIzMDI4_7fca844d-a03d-4ef8-9f3f-7d28fd240634"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ica2a67ea23c14c5bbb889434aa055f0f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzktMTItMS0xLTIzMDI4_57cef853-d3e0-41f8-937b-689ec8970ab9"
      unitRef="usd">1552000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ica2a67ea23c14c5bbb889434aa055f0f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzktMTItMS0xLTIzMDI4_f54f3607-644c-48d3-8208-cef5234c9d76"
      unitRef="usd">1552000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="id9224af6790c4f4698d922159ad1c8bc_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzEwLTItMS0xLTIzMDI4_003bf1a5-2041-4bf0-8aa1-71ebf820a989"
      unitRef="usd">9375000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i1fff300b6c8f40d584eb39a70ca7fa7d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzEwLTQtMS0xLTIzMDI4_95cdc2c6-8dfd-4985-b295-2b1a6fffa241"
      unitRef="usd">-111000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i1fff300b6c8f40d584eb39a70ca7fa7d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzEwLTgtMS0xLTIzMDI4_892828e1-971b-429f-aeec-2024c0bde953"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired
      contextRef="i1fff300b6c8f40d584eb39a70ca7fa7d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzEwLTEwLTEtMS0yMzAyOA_0d2aec35-e792-4251-ba05-94078a96b8be"
      unitRef="usd">66000</us-gaap:ValuationAllowancesAndReservesReservesOfBusinessesAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="iac4c6654e9554744b1ef9bb9ac8c33a4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzEwLTEyLTEtMS0yMzAyOA_81f313ab-7ba7-466e-93f4-e40013649d16"
      unitRef="usd">9330000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="iac4c6654e9554744b1ef9bb9ac8c33a4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZkMDBiMzEyMzRjNTQyZGZhYjU0NzM1ZTAyOWIzM2JlL3NlYzo2ZDAwYjMxMjM0YzU0MmRmYWI1NDczNWUwMjliMzNiZV8xNzgvZnJhZzoxOGI4YjNiM2E4YmU0NzUyODMzYWY3M2FhODkxMGVjMS90YWJsZTpjN2VkYjNhNjRkMjg0Y2E2ODA3NzZlYTE3MmI0ZGM0OS90YWJsZXJhbmdlOmM3ZWRiM2E2NGQyODRjYTY4MDc3NmVhMTcyYjRkYzQ5XzEwLTEyLTEtMS0yMzAyOA_ddd0ef83-6856-4fce-9239-942ee8a49353"
      unitRef="usd">9330000</us-gaap:ValuationAllowancesAndReservesBalance>
</xbrl>
