<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:currency="http://xbrl.sec.gov/currency/2022"
  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:ueic="http://www.uei.com/20221231"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  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="ueic-20221231.xsd" xlink:type="simple"/>
    <context id="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i43646365659a44b7a6ddd8114f4811b3_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ic0165a69b55c4f7ab52113bd242659af_I20230303">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <instant>2023-03-03</instant>
        </period>
    </context>
    <context id="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i0895bebba28644c3b98d6aed3915b2f7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id7ab98a9b65b433897fc96af893c1715_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ibaf2b356f7a54f609efc6777de459944_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i7038b4b2d6ea4de2be9c7a84d92ada04_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i959cb0e8c0984a1a8d4fed6c48ec31de_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i6b9674bd02e9453d95a39d8dd6a49774_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i2b3debd26b59457c8436e5e4076ec943_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iaebd25ddeabf45cd990a1865f45f25fa_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i6875437e23b745f6861885c062a9749f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i404da363adec4c9da4bd9569ed001160_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ia1e6188bc13642fe8a63a45ba38cf18d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ie9d5c35b45c146fe8a7a51ed6312de09_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icf1b123505b447abaa6a28e2dadecb7d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i6644b7328576496bbafd43fb3e80c2be_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ide2018bf967c4dc2b42bae6d39d0991d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="id299786d9d3440aca6fc3285786a209f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ie3b898aaf5134073b284b88b9bf328e2_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i12fb3e189b7c4d13806cbe95a78923d2_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic92ea013456144279ac4b7f6cad5a5ed_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i3215573addcd4dbbaecb1fc1e266162d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ib317cb4f68bc4a4aa89df01c97ff5df4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i9954af0f5eb044c98b2787cd2c856fa7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ib6fe94662a4f4339b51bebeeb450de3b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1183956b87b64392bb2e9918a72462f2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i227f0ad52de846969ab59ff53be99c86_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id4fefd03039c4837a2932e050983ecee_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="iecc3ba12a56040dcb811607b314bdcca_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i5d058b3fd34e4a109815ce9341429d19_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i76c5f094692f4026b2f9b7f74669203f_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i6940d9cc2ba6452f9b7dab7385d02ccf_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i8a2b80f052d44bff89b04ef70c60f3e0_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i6763f4af0a3c4fe993f37e9b67b54b96_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i6d60eb4c56f847e4b069bc04e8ffa638_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ifc042961112e4f85a43aaffd868474d3_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i030f9be3654e44b39fdc08341cae2d2b_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ifaf8786753ab4197851cee899e57d845_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i2514fdada708438abbcd5812ce793a11_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ia4ac3663c3374557b17d80c0d2def1d2_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="if4086bf867a240edb4241037e45a4f2c_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="if33a6fee209543bbbbdedee1736962d8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i137d33fb87914ac5a985fb8f262d9d2e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i010b67ea18f6450fb8cb0c30da17ed34_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i82a1a50a1e064735af6ba1782208837b_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="id6f04a6d451e4943b3526bf367bb28a1_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia0ffd615de4d47b2a90d6bfcc74d57a4_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i65b804c9fa1f4ba393aba74b8463be07_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i09b1ac5af3a44519abce70f31d9953e9_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i86873fe5dd874e5d80ac8a8396683b2a_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i8299d4242a4f4f68a2830846ac7c149e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i79fada0248134dbd81a6bd5493ebc29e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i9f918bd5798644ef9fcd79c50b1a05a2_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ib405d2ac1e494ba9bf5076da7b41eb73_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i3dbf32a5077a43c6937b81c5fca030b5_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i2467252405114d6a8276f76c32345676_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">ueic:LeaseholdandBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i3e19e60348fd423cb8a9c695e21c17e1_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">ueic:LeaseholdandBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i463cba5e8df0404d90d251f45a7f4ad5_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i8e40556ba18443589b4ac19a4ccd3c8e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iacd22406de7446bdb898921fbbb8349a_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3ec104d4ec6542c0bf195e2a440413df_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5f66215479ac4b61b069dad41375080a_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i994a22df6c0b44cd9e78af40d6a3d56a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7a333264c2ba4ed78f5d9634b56a73f1_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:AsiaExcludingPeoplesRepublicOfChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if262da2449e64a7194a15dcfd720873f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:AsiaExcludingPeoplesRepublicOfChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7a6eeabead724923aefb14168aaa1ba7_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i5f5ea9785cf24486bd17bc98d230b997_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i11a22b72ab244d3987a7b0f00ec144ec_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:SouthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7844e9b0c2aa4b4eb3c4d71a7f9c8d7a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:SouthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i79f1e8f264044f3daf2a2b2503436985_D20220125-20220125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <startDate>2022-01-25</startDate>
            <endDate>2022-01-25</endDate>
        </period>
    </context>
    <context id="i8d3d96a2a508480bb0ff67b267427503_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i97873c9fcfb64a3abd24aa9d8b17cd00_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ibee9cd6a7ed64f3683362d04e1c3a083_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i376f447a26d8474eb654aab1256073da_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia3838b7fa4864461beac9832e9a6a76b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib55a70c0526d47e7af7396468497f67d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icaf095ade7764a8a89b29fa00ab6fed2_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i1a8ba80180d24e16903efb61f122fc80_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia89aa1564884456eb2226fe1505ad2a2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib78289de4c044e63991586092d47df95_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:AsiaExcludingPeoplesRepublicOfChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="iaaf58c73ae37453ca1925c142e777d40_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:AsiaExcludingPeoplesRepublicOfChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i7df0126dff5d41aeae6c33538d3298e5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:AsiaExcludingPeoplesRepublicOfChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i002b1b955dbd4c80a6f9011718af0bd5_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ie3aa77baf43b467182f63eaeaae40a05_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9c6f2377434f464db47426a116692860_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i77d3b20fc24e488ab21086d52a92cbc5_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i292aa42a11c742ce983cfcca8527eb7d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie7df1d3bfa784ef0aca9254ffdbe7c2c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1fb67082ded54280a933620a970912c3_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:LatinAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i5bd4f3f33562468b9e0efa0c797ebc92_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:LatinAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i65327c346f764f0598a4403a30b80df1_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:LatinAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4b21d2624e934cd1a7255265d75fa669_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:AllOtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="idc26250f568846909af4c9664fdbfb56_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:AllOtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0ef0b048947e44a0a582dc8b2cd296e2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:AllOtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5a10cde675834c048ac260e04f9918ad_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:ComcastCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia905aeb4c8e94de2a263224fdff56b41_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:ComcastCorporationMember</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="i7ac0549bfade49769e7473541bd2fee8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:ComcastCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i413456b43e934b44b236299acc29e625_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:ComcastCorporationMember</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="i5d6f76b7b0f64ed897758ee214c7a662_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:ComcastCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4a5c957dba874728962f8172a12f63ca_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:ComcastCorporationMember</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="i63f2e5cc12f546b280eb60f76992b570_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:DaikinIndustriesLtd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i1b503cbc1aa345a28d3ea8cbd910c3e5_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:DaikinIndustriesLtd.Member</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="i416da6bbda954d42b2062d6280f3e15c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:DaikinIndustriesLtd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i06db4945074f4a3087e19319c094af62_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:DaikinIndustriesLtd.Member</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="iab095b37a9654f9cb86de432a201a537_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:DaikinIndustriesLtd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ibd503ef568fe46689a563740d4d21783_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:DaikinIndustriesLtd.Member</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="iab6f67d4be774527826826601915491c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:ComcastCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iaa46afc7f4ac4360abc0e579adfec0ee_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:ComcastCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:TradeAccountsReceivableMember</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="i3aa0dd4661c84372b4ccaede8398c658_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:ComcastCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i862c0896b0704651bc0ad3bf70f30aa9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ueic:ComcastCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:TradeAccountsReceivableMember</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="ia32b072720bd4424be9c33b0104a056f_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:CostOfGoodsTotalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">ueic:QorvoInternationalPteLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i5ed08d00d7be4f8f822b5cb9fe85c0be_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:CostOfGoodsTotalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">ueic:QorvoInternationalPteLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i030dbbde0a814c67a043ba52ace1d307_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:CostOfGoodsTotalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">ueic:QorvoInternationalPteLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i352c112b28ee46a9b694f851acc07d7e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">ueic:AccountsPayableBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">ueic:ZhejiangZhenYouElectronicsCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i7e22023328594c5884d8c2bac55f9448_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">ueic:AccountsPayableBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">ueic:ZhejiangZhenYouElectronicsCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iecdd2819700549a6b918486a8e97e39c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if9b54b0b706f4b5a83b7c028c0b336e6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i28905249ea7a45edba33d97080a49280_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i8eb4626518d14b0d9df567dfb74a4b07_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1e0c20f3a59f4574b685f46a703b86a0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="id62c4765177a48f9a3e3b9dc8634b0f7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i6e288f4d203f4aad8b6bbb92722e750b_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i327efe4f1dee46ad8960502c8161ba70_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i56264a32ac5048a880940b10cd0109f7_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i6fa04dd7d0854a59acda9d33bb14a9b8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ic595d7901b9349188098a243f3068806_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i86017a606e7d4397bbe888b877442ae9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i18a74e15976d4e639123e563096ca634_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id8ee55a525934c0397fa13065f05d323_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic73c60d28aa148099b0cce7de93885ef_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentOtherTypesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4d3b61cf54f346f8b9914207d762b0ac_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentOtherTypesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7b9ad042a704460684501ee847909404_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4e07f925de334d35986239b5b55deaa8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i21785e324f044e4c878d3354471f4b7e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i8b7c7782463f483ebc0bc5d3ebe7ec5e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iaa78877ca01448aea1c9ceed7cb1a90c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ife7b3221611344fdbfcef2a5cf37182b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i66de8fdd7b65471aac45bc23b6eadef1_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:AllOtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9d679a8352974763b40812d3e9775a7b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:AllOtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie405f435198c47e0a1416acf92ffe49c_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ueic:QtericsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i95f28e8e491a4f7eba712432a21495d3_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="idc07edc86ee64a9a9c44b2b031d57ec4_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i19f1f3f7fe5044ae9f239f6e21cd47aa_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3cc76e5f8d954f9ba0aa92f97d32f2f3_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <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="ie563a725337a411a86be9033cbf187e5_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <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="i438cb62a8a9f4a20b722c970f29e893f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i16180e8aa884463c987034be7366ea3c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i2ba28e20814646e085c109ed12983955_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i2ab9abb7a123481181463bfe012bc2c9_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i7d67525acb08437998a1dc19fa783690_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i069174d03066436cb944064c21117621_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i885e4fde5ae44c8682c221584d7d45e1_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i34259b800be7460fa55037e352748293_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i5b5a040e2cc4449f8765aff6cb3535d6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id167accaf55b433db1593f8536475cec_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i8e2e9592b204493d8c19459615b415a0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ifdfc1fa08ae2429baa68f1eaa9b8a114_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i204c2856fc4d4e81bfd882305f262e8e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i3c5bb11cb17348ce85fe7dbf36b70839_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ie494389f945c4743861208d4aa7c59fc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i900e714e852e4b32ab2e9b6566f1a1ca_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ic4549ea8743c46119620c5210e74e8bb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i257991c63ab14175bab6f57bc458a035_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i19c48a6b6cb84ae192e888d703118179_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i9346289026f14da5ba60e09cad31768f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i37a5c6e48480439db90270d56e1ab38f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic24abf8795024081bcac159e61661cd1_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i586f3943f05d4a4faa31a89931e11867_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis">ueic:PropertySubjectToRentEscalationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3d72931a667e4f11b540001d7929a32e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:YangzhouMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i88c1a21647c94367a36f1fd51ecaf272_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:YangzhouMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i87204d730be54f1a91ff17bae09e1b56_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ueic:YangzhouMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ie24438266f274e9ea82c5f871f98ca0f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ueic:SecondAmendedCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i95eb277d263e4874b5033e6b94dac927_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i19e7c562929c4745969eb73228bbd1f2_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iafa38e9418a94e57a96b6163253da609_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ueic:UsBankMember</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="ic15c886383ff4f57bb452d1944432edf_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ueic:UsBankMember</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="i0e7a4c2454ae44b7ab7dbbefce031af0_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ueic:UsBankMember</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="i94816198758a425b92b89ff7a11aadff_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ueic:UsBankMember</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="i81e7b74234e44057950557497e520c44_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ueic:UsBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3c98a367a2b2454e8aa076e2594dab17_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ueic:UsBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iced21a44d1a743348756556ddb536555_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ueic:UsBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ib3a7cc7a17d64e4fb6f50a62d240c83d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3448e7a86b3145a4a324c8c635b5a4b9_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if42b4e6b17ac4be2bcfa8f30c4788f6d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i36b32c29391e4fb6abbb063515f61101_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2fdd8ed73404443f94b5244ed6f8e833_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i2978d4aef75a41d0a4a0b628cd682b13_D20180601-20180630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">ueic:GuangzhouEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-06-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="i8d9b9415570b41969feae6aaad36b810_D20200601-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">ueic:GuangzhouEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i6199d7d5d70b4105a2cc3168c8c6280a_D20180905-20180905">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">ueic:PatentLawsuitAgainstRokuMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:PendingLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-09-05</startDate>
            <endDate>2018-09-05</endDate>
        </period>
    </context>
    <context id="idfe09cef9d8444f6913aa8376db41141_D20200409-20200409">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">ueic:RokuTCLHisenseandFunaiPatentInfringementITCMatterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:PendingLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-09</startDate>
            <endDate>2020-04-09</endDate>
        </period>
    </context>
    <context id="i614d00f69e524d6fa3c25fcddeacc937_D20200409-20200409">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">ueic:TLCHisenseandFunaiITCMatterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:PendingLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-09</startDate>
            <endDate>2020-04-09</endDate>
        </period>
    </context>
    <context id="i82ecc958df964ed1875094311bf0a93d_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">ueic:PatentLawsuitAgainstRokuMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia7e69374449c4a17a22849d961074be7_D20210408-20210408">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">ueic:RokuITCMatterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:PendingLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-08</startDate>
            <endDate>2021-04-08</endDate>
        </period>
    </context>
    <context id="i001001cec1d74cfe97993bd0ca38658b_D20210510-20210510">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <startDate>2021-05-10</startDate>
            <endDate>2021-05-10</endDate>
        </period>
    </context>
    <context id="i55cee77028854b1d85491ed74901d207_D20210510-20210510">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">ueic:RokuITCMatterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:PendingLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-10</startDate>
            <endDate>2021-05-10</endDate>
        </period>
    </context>
    <context id="i15981c3b899243d2ad492480e1aa217b_D20221201-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">ueic:RokuITCMatterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:PendingLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i4f9b067a34f34b0fa298debdc497134d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">ueic:IndiaSubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia81141037305457489e62f46a466b45f_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">ueic:IndiaSubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i81be1732e64c4126b39d561b11d98ddd_I20220222">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">ueic:February2022ProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-22</instant>
        </period>
    </context>
    <context id="iacf377e18ef74a54bfc00e25cf04bc77_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">ueic:OpenMarketShareRepurchaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i0e3d856fadbb412b8bf4024dc3aa2246_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">ueic:OpenMarketShareRepurchaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8451e0a1231e4a638d0d7075db59c768_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">ueic:OpenMarketShareRepurchaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if9ff543762414297bfe834b516c96144_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">ueic:StockBasedCompensationShareRepurchaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ic0307857083041b28b3306b6c812b154_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">ueic:StockBasedCompensationShareRepurchaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="idb7ced19b93745a69169442a182d41b3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">ueic:StockBasedCompensationShareRepurchaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i424bbde9304f4f809cc5b68b4a759566_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i2ddd327f03824d509b56e880990f1947_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i54ae1d30e1d84b278ad5b31a606cf7da_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if5926964d8104344b5b8b2bbb2ba3da6_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <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="i368f398bae3145fcaddedf946409c355_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <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="ic44e714283834ef1a9b7f76c1440347f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5e42a11309364bbfa0c835e54ddf0e5d_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementNonemployeeMember</xbrldi:explicitMember>
                <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="i606e61a0ae99415d9f8e650eb855766c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementNonemployeeMember</xbrldi:explicitMember>
                <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="i6369fb76a006469f99e7fb37e26a9c6f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementNonemployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i03f5720e1d1746358a7d867d3c3a7ea6_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">ueic:ExercisePriceRange1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i278fbd4ab49141a8945acaec18df7458_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">ueic:ExercisePriceRange1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iad99f24f7d454e52853ffbb41688e439_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">ueic:ExercisePriceRange2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i10f0ac5abb674281b936fdf2f2f28eb8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">ueic:ExercisePriceRange2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if5e3945969de45f593c44912e3c7808e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">ueic:ExercisePriceRange3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i40ae19a4c23f4be7a370f30e3cd10564_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">ueic:ExercisePriceRange3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9bddf7785f22407b9bf7a74c5f368ea8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ib95ebf7d866a42c082fac093adc20cee_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="i8e16ce50bbb44192813836d0a0a27991_D20230209-20230209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">ueic:CertainExecutiveEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-09</startDate>
            <endDate>2023-02-09</endDate>
        </period>
    </context>
    <context id="ief4cd253158e49998f4966802326d288_D20230209-20230209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">ueic:CertainExecutiveEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-09</startDate>
            <endDate>2023-02-09</endDate>
        </period>
    </context>
    <context id="ic48c45e251794c499d228f1dac5211a9_D20230209-20230209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">ueic:CertainExecutiveEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-09</startDate>
            <endDate>2023-02-09</endDate>
        </period>
    </context>
    <context id="i8abb358f8ac945589de64beb71075497_D20230209-20230209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">ueic:CertainExecutiveEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">ueic:SharebasedCompensationAwardQuarterlyVestingThereafterMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-09</startDate>
            <endDate>2023-02-09</endDate>
        </period>
    </context>
    <context id="ie2e5d94bfe0049e9ae9b874c48ed9c1d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia179cb0ef5e4439a95071fe37c0e95a6_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ic614a7e8c14c4535a728dfc02fe5b99b_D20230201-20230228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">ueic:CertainExecutiveEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="i3aa97d97b2c54a3ab2f96a1b7ed5ebc9_D20230201-20230228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">ueic:CertainExecutiveEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="i78e39ebbaa8e43439bb8c1b81847ada6_D20230201-20230228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">ueic:CertainExecutiveEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">ueic:SharebasedCompensationAwardQuarterlyVestingThereafterMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="ib688cb0af453470682d4589a67c8ff79_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ueic:StockAppreciationRightsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i1bef67d38c8f44bbb0ee87ab39f93ff8_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</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="ic1b945b32a4b47caafd11029ce31ee12_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i33a06b8fc8594b1faa15382e851af140_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i9c1d4cf0a19b4237b5676eec97414300_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ueic:StockIncentivePlan2010Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9c2a75fbd74f4da5a33f4c2a9b7a2d84_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ueic:StockIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2b7ee548331942b6804d203dcd8bde5d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ueic:StockIncentivePlan2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i44ebc893cd064107ab16006f5c7c6cb6_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ueic:StockIncentivePlan2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i1c1031b9c7db4edfbb50b88552a8342e_I20160309">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">ueic:CommonStockPurchaseWarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-03-09</instant>
        </period>
    </context>
    <context id="i83618dad7b684b4ca60e225db0d3983d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">ueic:CommonStockPurchaseWarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if1469e5adf13446383df40006774be01_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">ueic:CommonStockPurchaseWarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i485710a65a3b4720ab7fd91c5c0b4221_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">ueic:CommonStockPurchaseWarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0e6c773d8a584e80b3db40ab504f911d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">ueic:CommonStockPurchaseWarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1da20c34146d4087bb295656c14aefe4_D20210907-20210907">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
        </entity>
        <period>
            <startDate>2021-09-07</startDate>
            <endDate>2021-09-07</endDate>
        </period>
    </context>
    <context id="icc6d0488b38b4b218ad1b4fca2c5b4a7_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i28e0239f1b7f4ed2810f4a20178c1ed9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9171378c1ace44c1bc5db96b9d652fa7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8e8f7fdb8ef447f3bd5946a36c4f7e28_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i06c8f078ce734be182ef075701f236f1_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia5cdac9c98464d21bcc4b2fcfcd0b83f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i98d9704083854a17853f83968eaf4488_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">ueic:CommonStockPurchaseWarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="icaf9cdebf323497ea1635915e29a1f64_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">ueic:CommonStockPurchaseWarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2ffeeb50b6174d30a16580594fd77eb0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">ueic:CommonStockPurchaseWarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9693218451b741e79fc82efb8f0869cf_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7f7f2a162ebc4ebdb0b7be4a2bf76e66_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ie4d028e506254fc29d9e108baea44d31_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ibe909e6157ac470f9695b255a7d84ac0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3676718014c2443095d2c68e939a709f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id1e48ae0188a49a583c1a8f7b0ab067c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1d46a4068b5c40758f33bcfb4eda0008_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i48167be6894c43c683ff3f284cb9d661_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id14cf236934c47a3930f3305d5bb3622_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i5993b2ffe5ea470cbe847f61142618fa_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if55c7799a6c744d89aad57f036d90ab4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i58944d2c20364db696c8fca7bc84a4d8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i329ffd36eaa44e09aad571b8eeb9b455_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ib09bcf7b5f0442c1919435dfb370c0f3_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CNY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iba306c5b07134b4282944fd3b685e8d4_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CNY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i98f03e9d58cf4c18b8393734885942b0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CNY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1c720669130c42e2abc7bca875c87716_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CNY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9449daacf6764da585039075424361a8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i6a8e543af07d4fee889f5653b8cd525e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4fbf725477324b18a09c94e17f727528_D20220217-20220217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ueic:QtericsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-17</startDate>
            <endDate>2022-02-17</endDate>
        </period>
    </context>
    <context id="ia21723615fe745559e2197992add2fc7_D20220217-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ueic:QtericsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-17</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ifef3202f954f460e99051116d2d55de9_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ueic:QtericsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia954dc04458944609ba97303cf40075e_D20220217-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ueic:QtericsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-17</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia420416854db41aa8edf979f27a36642_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ueic:QtericsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3477d11a85834e9cae8ee90987378d89_D20220217-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ueic:QtericsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-17</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i3c65985631654d63865b9bfb82843eec_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ueic:QtericsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if3e81718215d46718aa296e53ab06457_D20220217-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ueic:QtericsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-17</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i5770c73567114dcaa7ddd16b6d3b9f56_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000101984</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ueic:QtericsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </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="number">
        <measure>pure</measure>
    </unit>
    <unit id="extension">
        <measure>ueic:extension</measure>
    </unit>
    <unit id="patent">
        <measure>ueic:patent</measure>
    </unit>
    <unit id="inter_partes_review">
        <measure>ueic:inter_partes_review</measure>
    </unit>
    <unit id="customer">
        <measure>ueic:customer</measure>
    </unit>
    <unit id="usdPerEUR">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>iso4217:EUR</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="usdPerCNY">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>iso4217:CNY</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV80L2ZyYWc6ODBkZjdjZmRmOGE1NDQwZTlhOTI3NTg5ZDA5YTQzNDMvdGFibGU6YTFmMDA1MGNkOGEwNGZhNGI2ODRiODBlZDAzNjgwOTQvdGFibGVyYW5nZTphMWYwMDUwY2Q4YTA0ZmE0YjY4NGI4MGVkMDM2ODA5NF8yLTEtMS0xLTQ3MTkw_acd4477e-bd93-4953-b1dd-1de0f090e4cd">0000101984</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV80L2ZyYWc6ODBkZjdjZmRmOGE1NDQwZTlhOTI3NTg5ZDA5YTQzNDMvdGFibGU6YTFmMDA1MGNkOGEwNGZhNGI2ODRiODBlZDAzNjgwOTQvdGFibGVyYW5nZTphMWYwMDUwY2Q4YTA0ZmE0YjY4NGI4MGVkMDM2ODA5NF8zLTEtMS0xLTQ3MTkw_6b26ae08-9228-4bb1-89fd-a401b8945519">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV80L2ZyYWc6ODBkZjdjZmRmOGE1NDQwZTlhOTI3NTg5ZDA5YTQzNDMvdGFibGU6YTFmMDA1MGNkOGEwNGZhNGI2ODRiODBlZDAzNjgwOTQvdGFibGVyYW5nZTphMWYwMDUwY2Q4YTA0ZmE0YjY4NGI4MGVkMDM2ODA5NF80LTEtMS0xLTQ3MTkw_e171d3eb-e395-4404-9e54-10f66d3797bf">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV80L2ZyYWc6ODBkZjdjZmRmOGE1NDQwZTlhOTI3NTg5ZDA5YTQzNDMvdGFibGU6YTFmMDA1MGNkOGEwNGZhNGI2ODRiODBlZDAzNjgwOTQvdGFibGVyYW5nZTphMWYwMDUwY2Q4YTA0ZmE0YjY4NGI4MGVkMDM2ODA5NF81LTEtMS0xLTQ3MTkw_324a57ea-f15f-464e-baea-08264cacd65c">FY</dei:DocumentFiscalPeriodFocus>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i010b67ea18f6450fb8cb0c30da17ed34_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMTEzNTk_4ce5d579-b613-4dd4-9592-3884bf64916a">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i010b67ea18f6450fb8cb0c30da17ed34_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMjUyNDQ_639395ac-2e19-45be-8f4a-9543362edecc">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzQtMC0xLTEtNDcxOTA_53fc2cb9-e3ea-4e5a-8f07-03d82852f9f8">http://fasb.org/us-gaap/2022#OtherAccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzQtMC0xLTEtNDcxOTA_cd0ce0ab-604d-4ad7-86f6-a0a6371ba975">http://fasb.org/us-gaap/2022#OtherAccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <ueic:BusinessCombinationVotingThreshold
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzMvZnJhZzowMGMwZGFlYTlhNWE0Nzc3YjA5ZWQwZGYyYjQxYTk2Yi90ZXh0cmVnaW9uOjAwYzBkYWVhOWE1YTQ3NzdiMDllZDBkZjJiNDFhOTZiXzE2NDkyNjc0NDYyODQ_0f03e6aa-2719-4db4-a49c-393cef3cd83d"
      unitRef="number">0.6667</ueic:BusinessCombinationVotingThreshold>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ic1b945b32a4b47caafd11029ce31ee12_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQwNTc_37121d75-f597-46a7-bf15-57562ed11555">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <dei:DocumentType
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzMx_d4cd6c42-d23b-4833-976c-c23fc84898af">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGFibGU6ZWI4YmEyZDU3NGU4NGRjNGEzMDQ0OThkMTlkOGNkYjEvdGFibGVyYW5nZTplYjhiYTJkNTc0ZTg0ZGM0YTMwNDQ5OGQxOWQ4Y2RiMV8wLTAtMS0xLTQ3MTkw_a678d655-c158-4950-8589-b352f14b5d28">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8yMDk_e1968b06-72b8-4330-b23c-32a2a07377cb">2022-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8yMDk_b6bf2df9-a48b-43c6-a02b-02a2c93552de">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGFibGU6YmM1NTVkNjdlMDkyNDgwNmI1OTk1NDNlMDRhYzVhNTMvdGFibGVyYW5nZTpiYzU1NWQ2N2UwOTI0ODA2YjU5OTU0M2UwNGFjNWE1M18wLTAtMS0xLTQ3MTkw_b3a3069f-6314-4df2-9d32-45c7a6286a22">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzM2_2efddc27-77f8-44a2-a910-e57e3b4d1c5d">0-21044</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzI1_0787b061-7af1-4a56-b0e6-09994a7aec34">UNIVERSAL ELECTRONICS INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGFibGU6YmE1YmMzZGIyYzQ5NGYxMDg0OTg1YmFlZTU4OTBkNjEvdGFibGVyYW5nZTpiYTViYzNkYjJjNDk0ZjEwODQ5ODViYWVlNTg5MGQ2MV8wLTAtMS0xLTQ3MTkw_adf7bf7b-471b-4390-a661-529efe96fc30">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGFibGU6YmE1YmMzZGIyYzQ5NGYxMDg0OTg1YmFlZTU4OTBkNjEvdGFibGVyYW5nZTpiYTViYzNkYjJjNDk0ZjEwODQ5ODViYWVlNTg5MGQ2MV8wLTItMS0xLTQ3MTkw_949740a3-b87a-420c-9a24-49caa70819ce">33-0204817</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzM3_c9f51456-d8b9-4816-8c2f-15b85cf978d0">15147 N. Scottsdale Road, Suite H300</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzMy_456093f0-0e48-4afb-b226-f35655811a45">Scottsdale</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzQ0_6ae93562-3c15-4d93-a18e-7a7cf1b46b71">AZ</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzMz_bc1d1d57-d1bd-4af5-b034-43b4482e75b7">85254-2494</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzI2_84029866-78e3-4dfa-9de6-6cb7f49ac6c8">480</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzM4_2cf7aa4c-9d20-4490-a672-2b49c44e06c3">530-3000</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGFibGU6ZmI4YTIwZjEzM2QyNDdjY2I1NDQ2ZGRiNjJhNGQzNDQvdGFibGVyYW5nZTpmYjhhMjBmMTMzZDI0N2NjYjU0NDZkZGI2MmE0ZDM0NF8yLTAtMS0xLTQ3MTkw_9ea1d705-b3e3-4e44-bce0-6ff8d946244f">Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGFibGU6ZmI4YTIwZjEzM2QyNDdjY2I1NDQ2ZGRiNjJhNGQzNDQvdGFibGVyYW5nZTpmYjhhMjBmMTMzZDI0N2NjYjU0NDZkZGI2MmE0ZDM0NF8yLTEtMS0xLTQ3MTkw_6634c3e5-15fb-4402-a836-74b0894553a4">UEIC</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGFibGU6ZmI4YTIwZjEzM2QyNDdjY2I1NDQ2ZGRiNjJhNGQzNDQvdGFibGVyYW5nZTpmYjhhMjBmMTMzZDI0N2NjYjU0NDZkZGI2MmE0ZDM0NF8yLTItMS0xLTQ3MTkw_28b9f827-cc1a-4007-88c9-8c7e50c5332d">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzI3_c81e6c74-0bae-4f96-823b-d8569eb81c4c">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzI4_96a93676-7878-41bd-9126-5226c578ac90">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzI5_588cd9d9-a17e-475c-ac89-501d68409291">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzM5_f0cfb7b7-43b6-4a6b-b114-ec66dc7b5a3d">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGFibGU6YzZmN2QzNzNhOTQ4NDQxMGEyZTQxMDc4OTE5Y2U3NjIvdGFibGVyYW5nZTpjNmY3ZDM3M2E5NDg0NDEwYTJlNDEwNzg5MTljZTc2Ml8wLTItMS0xLTQ3MTkw_a47cdc84-bf19-4d69-95c3-91ec8da25b69">Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGFibGU6YzZmN2QzNzNhOTQ4NDQxMGEyZTQxMDc4OTE5Y2U3NjIvdGFibGVyYW5nZTpjNmY3ZDM3M2E5NDg0NDEwYTJlNDEwNzg5MTljZTc2Ml8yLTMtMS0xLTQ3MTkw_3d7e10c9-1223-4166-acd9-ee2b1403235e">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGFibGU6YzZmN2QzNzNhOTQ4NDQxMGEyZTQxMDc4OTE5Y2U3NjIvdGFibGVyYW5nZTpjNmY3ZDM3M2E5NDg0NDEwYTJlNDEwNzg5MTljZTc2Ml8zLTMtMS0xLTQ3MTkw_2fff97ae-ddf2-4b29-84ca-d888f95dad0a">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzQw_c50b7bcf-69f2-44a1-bf6f-b32878ca65f5">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzMw_46be497a-496e-409b-8209-fa2037f97a81">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="i43646365659a44b7a6ddd8114f4811b3_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzQ3_35638049-2a33-41ba-80e1-419429559bad"
      unitRef="usd">213789783</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ic0165a69b55c4f7ab52113bd242659af_I20230303"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zMTY5_4300b2c4-db12-462d-8fc3-83c8f8c7a0e1"
      unitRef="shares">12781862</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xL2ZyYWc6ODY1ZmQxY2QxMDYxNGQ5ZmE5M2M5ZDUyZjBlOTM0NjYvdGV4dHJlZ2lvbjo4NjVmZDFjZDEwNjE0ZDlmYTkzYzlkNTJmMGU5MzQ2Nl8zNzQx_5e8775e7-ae57-4ef6-a94a-f47fcedea891">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Portions of the registrant's notice of annual meeting of shareholders and proxy statement to be filed pursuant to Regulation 14A within 120 days after registrant's fiscal year end of December&#160;31, 2022 are incorporated by reference into Part III of this Form 10-K. The Proxy Statement will be filed with the Securities and Exchange Commission no later than April&#160;30, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Except as otherwise stated, the information contained in this Form 10-K is as of December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV81NS9mcmFnOjA3YTg0ZjkxMWNiYzQyNjU5ZmQyZjZhMDYyNDgzNGNhL3RhYmxlOjVlNDFkNTQ0MTA5ZjRjOGY4ZGM2NmY4MmJmODEwMmVjL3RhYmxlcmFuZ2U6NWU0MWQ1NDQxMDlmNGM4ZjhkYzY2ZjgyYmY4MTAyZWNfMS0wLTEtMS00NzE5MC90ZXh0cmVnaW9uOmIxNjExZGI1ZTgxZDRhZWFiZTljZjc4OGYxNGFhYTZkXzc3_53135a9a-e5a4-438e-9d79-ee67a89aae22">248</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV81OC9mcmFnOmM2YmVjODYzYzZkMzQ2NmNiNmU3OTc5ZjU3NGM3MGY1L3RleHRyZWdpb246YzZiZWM4NjNjNmQzNDY2Y2I2ZTc5NzlmNTc0YzcwZjVfNzI3NA_5e4296ab-edbd-46a9-a153-e97ef794e8b4">GRANT THORNTON LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV81OC9mcmFnOmM2YmVjODYzYzZkMzQ2NmNiNmU3OTc5ZjU3NGM3MGY1L3RleHRyZWdpb246YzZiZWM4NjNjNmQzNDY2Y2I2ZTc5NzlmNTc0YzcwZjVfNzI3NQ_9d5b7492-36de-448f-83c2-9226e46058b4">Newport Beach, California</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMy0xLTEtMS00NzE5MA_9b4f7b87-30aa-40d1-86ce-5dcbe6c669fd"
      unitRef="usd">66740000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMy0zLTEtMS00NzE5MA_52a11a2e-789d-4227-a5f9-266409e8149b"
      unitRef="usd">60813000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNC0xLTEtMS00NzE5MA_2e5a4b42-fd07-4652-9433-7eee5a035183"
      unitRef="usd">112346000</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNC0zLTEtMS00NzE5MA_b097f4b7-bbe8-4e18-8386-6e0e111b4c41"
      unitRef="usd">129215000</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNS0xLTEtMS00NzE5MA_37172339-bca4-418e-98a1-372db2d015d4"
      unitRef="usd">7996000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNS0zLTEtMS00NzE5MA_35eb1db3-1e74-4919-8732-75b9855ab90b"
      unitRef="usd">5012000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNi0xLTEtMS00NzE5MA_df351051-fd74-4951-ba31-aaf5ebab4314"
      unitRef="usd">140181000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNi0zLTEtMS00NzE5MA_6aadd26b-1f4b-40db-a2da-c5ec94510de5"
      unitRef="usd">134469000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNy0xLTEtMS00NzE5MA_42d065be-1265-447f-88d5-b29cca5c9e2a"
      unitRef="usd">6647000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNy0zLTEtMS00NzE5MA_b207cc08-f45b-4888-b93e-5641a91eeba2"
      unitRef="usd">7289000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:IncomeTaxesReceivable
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfOC0xLTEtMS00NzE5MA_ba97c7f4-39a3-401d-839e-1865ae30a920"
      unitRef="usd">4130000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfOC0zLTEtMS00NzE5MA_9916430d-5350-43b8-93d2-91e550019bec"
      unitRef="usd">348000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:AssetsCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfOS0xLTEtMS00NzE5MA_ca918259-1428-4beb-bafd-6d69f990bd6c"
      unitRef="usd">338040000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfOS0zLTEtMS00NzE5MA_fa569ee6-e2d8-4ed4-a402-408eb600067f"
      unitRef="usd">337146000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTAtMS0xLTEtNDcxOTA_fd0030bf-ba07-4ecb-94bf-1fc1c5affddc"
      unitRef="usd">62791000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTAtMy0xLTEtNDcxOTA_f568c6eb-c03d-408e-8eda-e10f2a571f4f"
      unitRef="usd">74647000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTEtMS0xLTEtNDcxOTA_3ca4a177-c659-4d0e-8549-af19bd6853c0"
      unitRef="usd">49085000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTEtMy0xLTEtNDcxOTA_48ff7b9f-2ef4-4fcd-b266-8287276ea1c8"
      unitRef="usd">48463000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTItMS0xLTEtNDcxOTA_be5af59c-7fc4-4f30-b4f0-fadbdd8abe79"
      unitRef="usd">24470000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTItMy0xLTEtNDcxOTA_4a03a951-e1d0-41b9-bbaf-e81754b8c4da"
      unitRef="usd">20169000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTMtMS0xLTEtNDcxOTA_50be0d60-0527-48a2-9a5d-bca42446f268"
      unitRef="usd">21599000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTMtMy0xLTEtNDcxOTA_c0ac0cec-c072-4bb1-b166-9a77382d8e48"
      unitRef="usd">19847000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTQtMS0xLTEtNDcxOTA_deeed66d-6a72-43cd-8421-19eca9912df7"
      unitRef="usd">6242000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTQtMy0xLTEtNDcxOTA_cdaa8d56-f913-441e-9b26-78c5312eb6ca"
      unitRef="usd">7729000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTUtMS0xLTEtNDcxOTA_9e2bd8a6-00a9-44cf-82bc-e155e584902a"
      unitRef="usd">1936000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTUtMy0xLTEtNDcxOTA_d1b37eb5-571f-4a7b-9c96-5c3fcff80504"
      unitRef="usd">2347000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTYtMS0xLTEtNDcxOTA_1748b572-1718-43b5-a9f1-b4cbc8741e71"
      unitRef="usd">504163000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTYtMy0xLTEtNDcxOTA_c54c7f39-d06a-46a9-9c8f-d0842dcebdbe"
      unitRef="usd">510348000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTktMS0xLTEtNDcxOTA_a8c02022-2ab1-47eb-a904-06eb3b13348b"
      unitRef="usd">71373000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMTktMy0xLTEtNDcxOTA_9cea0393-9f9a-4748-9e3c-9008c55346e2"
      unitRef="usd">92707000</us-gaap:AccountsPayableCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjAtMS0xLTEtNDcxOTA_4d258158-3744-43c6-a2c1-b1d3e8234fd7"
      unitRef="usd">88000000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjAtMy0xLTEtNDcxOTA_133406c2-1b25-4595-9e84-08d5ea5cb254"
      unitRef="usd">56000000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjEtMS0xLTEtNDcxOTA_44de45e6-fed3-41d9-81bf-e83c16cb6b9e"
      unitRef="usd">20904000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjEtMy0xLTEtNDcxOTA_4e28b276-5d27-4062-9ec2-adcd59c86916"
      unitRef="usd">24217000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <ueic:AccruedSalesDiscountsRebatesandRoyaltiesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjItMS0xLTEtNDcxOTA_fb2ac8ec-d60e-4ab9-9639-c18e9a84b6d9"
      unitRef="usd">6477000</ueic:AccruedSalesDiscountsRebatesandRoyaltiesCurrent>
    <ueic:AccruedSalesDiscountsRebatesandRoyaltiesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjItMy0xLTEtNDcxOTA_991ee1a5-129f-4117-b243-f3f46a9242e8"
      unitRef="usd">9286000</ueic:AccruedSalesDiscountsRebatesandRoyaltiesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjMtMS0xLTEtNDcxOTA_1a977979-e73f-40b0-9913-7d8cd716f8a5"
      unitRef="usd">5585000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjMtMy0xLTEtNDcxOTA_f21e0936-402a-497f-934d-8dccb47efca3"
      unitRef="usd">3737000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjQtMS0xLTEtNDcxOTA_f45dd474-cc96-40bb-9db2-5ba842ffb34c"
      unitRef="usd">24134000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjQtMy0xLTEtNDcxOTA_dddb7741-fc2e-49ca-8060-9018c4a28040"
      unitRef="usd">30840000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjUtMS0xLTEtNDcxOTA_80a41d45-1e1b-41cb-b7a3-72373029f293"
      unitRef="usd">216473000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjUtMy0xLTEtNDcxOTA_bd88a348-8c4b-46c6-9768-8e74e35d532f"
      unitRef="usd">216787000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjctMS0xLTEtNDcxOTA_c734d920-8cb3-4b78-8856-f83127a091f2"
      unitRef="usd">15027000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjctMy0xLTEtNDcxOTA_62a8e051-011d-48f1-b843-69a25135c519"
      unitRef="usd">14266000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjktMS0xLTEtNDcxOTA_92363877-c7fb-48d0-be6d-4b930e8f835d"
      unitRef="usd">2724000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMjktMy0xLTEtNDcxOTA_2edd0dc2-7767-4d46-879d-f3714acd532e"
      unitRef="usd">2394000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:AccruedIncomeTaxesNoncurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzAtMS0xLTEtNDcxOTA_a595c750-dbf1-4fee-b74e-f87e6d463a9f"
      unitRef="usd">723000</us-gaap:AccruedIncomeTaxesNoncurrent>
    <us-gaap:AccruedIncomeTaxesNoncurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzAtMy0xLTEtNDcxOTA_1f1b5de7-757a-4999-acb8-2139ae42f177"
      unitRef="usd">939000</us-gaap:AccruedIncomeTaxesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzEtMS0xLTEtNDcxOTA_9ba7558f-3466-4104-aaa1-daae369faeab"
      unitRef="usd">810000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzEtMy0xLTEtNDcxOTA_9a715a0b-40aa-447f-82c3-6c2a63473f06"
      unitRef="usd">13000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzItMS0xLTEtNDcxOTA_0a8ec592-a1c0-443c-8055-014914f2e58b"
      unitRef="usd">235757000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzItMy0xLTEtNDcxOTA_2ed8078f-4cf1-48e0-917f-53278f65815a"
      unitRef="usd">234399000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzMtMS0xLTEtNDcxOTA_802b90f4-c3f7-4f3b-a556-9dac1be343df"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzMtMy0xLTEtNDcxOTA_a4d91fa0-81c1-4064-b6a6-c9d6f55130ad"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzUtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjpkOTVjMWJhZGVjNDg0YWY5YWI1YzU1NzViZjNlOGZiYV8yMQ_393ebc50-627e-419f-b167-fc4122d3355a"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzUtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjpkOTVjMWJhZGVjNDg0YWY5YWI1YzU1NzViZjNlOGZiYV8yMQ_c87eb838-123f-479e-9353-8abf85ba803a"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzUtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjpkOTVjMWJhZGVjNDg0YWY5YWI1YzU1NzViZjNlOGZiYV8zNQ_0e032c6a-0a98-4551-af2e-860f219076a1"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzUtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjpkOTVjMWJhZGVjNDg0YWY5YWI1YzU1NzViZjNlOGZiYV8zNQ_16def66b-e88f-4b10-9b5b-62ec0bcde081"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzUtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjpkOTVjMWJhZGVjNDg0YWY5YWI1YzU1NzViZjNlOGZiYV81Nw_5e939b1a-919f-4efc-8dcf-871867979043"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzUtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjpkOTVjMWJhZGVjNDg0YWY5YWI1YzU1NzViZjNlOGZiYV81Nw_617401e7-dc58-4eb1-b87b-3f621ee9e641"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzUtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjpkOTVjMWJhZGVjNDg0YWY5YWI1YzU1NzViZjNlOGZiYV81Nw_cbd87b31-9f64-491f-9668-723634771caf"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzUtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjpkOTVjMWJhZGVjNDg0YWY5YWI1YzU1NzViZjNlOGZiYV81Nw_ecc88a5f-c961-44c5-8fc6-385d23c5088f"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzUtMS0xLTEtNDcxOTA_8f192062-c5e7-4b2c-8105-a65cd71edfb8"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzUtMy0xLTEtNDcxOTA_a4d41fe6-0f58-4fe1-85b6-12acd5dd7d51"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzYtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjo1OTdlZGZlYzQ4Y2I0NzI3OGUyMTI2ZDM1MjE1NmNkYl8xOA_11eddaf8-3208-424b-adb5-af0f1e15adc3"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzYtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjo1OTdlZGZlYzQ4Y2I0NzI3OGUyMTI2ZDM1MjE1NmNkYl8xOA_ea82cc28-d2cc-4103-b425-4cbdb9ef110b"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzYtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjo1OTdlZGZlYzQ4Y2I0NzI3OGUyMTI2ZDM1MjE1NmNkYl8zMg_9edf9368-e4b9-4c64-944b-c532ddf33f2d"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzYtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjo1OTdlZGZlYzQ4Y2I0NzI3OGUyMTI2ZDM1MjE1NmNkYl8zMg_cc512471-9eb9-4d9d-bcc1-7d6d741ee92a"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzYtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjo1OTdlZGZlYzQ4Y2I0NzI3OGUyMTI2ZDM1MjE1NmNkYl81NA_ff96442f-216f-444f-9e75-55c70df21cc6"
      unitRef="shares">24999951</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzYtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjo1OTdlZGZlYzQ4Y2I0NzI3OGUyMTI2ZDM1MjE1NmNkYl82MQ_3f61daba-33f5-4e5a-94cc-1c22e0355a73"
      unitRef="shares">24678942</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValueOutstanding
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzYtMS0xLTEtNDcxOTA_99fd1180-7b65-41af-91a5-c8b072f7587d"
      unitRef="usd">250000</us-gaap:CommonStockValueOutstanding>
    <us-gaap:CommonStockValueOutstanding
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzYtMy0xLTEtNDcxOTA_2d16815f-b4c7-45aa-848d-789f1b2862d7"
      unitRef="usd">247000</us-gaap:CommonStockValueOutstanding>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzctMS0xLTEtNDcxOTA_db687f7d-3d68-438b-82b6-59e9e1de0af0"
      unitRef="usd">326839000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzctMy0xLTEtNDcxOTA_c3bbf842-ff81-4103-97af-198fc8744138"
      unitRef="usd">314094000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:TreasuryStockShares
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzgtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjo0N2JjOTIwYmFhMTY0MmUyYmYxYzM2NGJmNjg1ZDdhZF8yOQ_f7a8d7b2-c82b-4da9-bdc5-51a2318d61f7"
      unitRef="shares">12295305</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzgtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjo0N2JjOTIwYmFhMTY0MmUyYmYxYzM2NGJmNjg1ZDdhZF8zNg_483a42f7-6372-422a-930f-3917da8c5f88"
      unitRef="shares">11861198</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzgtMS0xLTEtNDcxOTA_1a70852d-2195-4f34-aab0-bfc2456721c4"
      unitRef="usd">368194000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzgtMy0xLTEtNDcxOTA_9df16b96-46e0-4743-80b4-cc405b3507c4"
      unitRef="usd">355159000</us-gaap:TreasuryStockValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzktMS0xLTEtNDcxOTA_29bb4194-9f17-48a1-99a6-72f791eef5d5"
      unitRef="usd">-21187000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfMzktMy0xLTEtNDcxOTA_13005e9c-0e17-4fda-a7a2-e1a601a49748"
      unitRef="usd">-13524000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNDAtMS0xLTEtNDcxOTA_37b2d766-abf9-4333-a176-90dda6763d71"
      unitRef="usd">330698000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNDAtMy0xLTEtNDcxOTA_c25b5900-5312-4422-9873-29b935a23501"
      unitRef="usd">330291000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNDEtMS0xLTEtNDcxOTA_9cd8d907-1119-4df8-ae2b-76b4c2ce857e"
      unitRef="usd">268406000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNDEtMy0xLTEtNDcxOTA_7e2d341b-2e27-49a1-84dc-8c8f5a329f54"
      unitRef="usd">275949000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNDItMS0xLTEtNDcxOTA_db7d0b80-ae83-48f0-91e9-03bb8dab519c"
      unitRef="usd">504163000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82MS9mcmFnOjIwMTNkNzEyNDk1YzQ4YWNhZjZmZDgyMGNmZDAyOWJhL3RhYmxlOjFmOTU2MmY0ODMwYzQ0ODM4MmFhMDI1NjQ1NWZjMjFjL3RhYmxlcmFuZ2U6MWY5NTYyZjQ4MzBjNDQ4MzgyYWEwMjU2NDU1ZmMyMWNfNDItMy0xLTEtNDcxOTA_4dbc0b90-afe9-43ae-a6b7-4d79d955dca4"
      unitRef="usd">510348000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMi0xLTEtMS00NzE5MA_813513eb-9001-4b06-b021-c6716085bcf2"
      unitRef="usd">542751000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMi0zLTEtMS00NzE5MA_b8ff2c27-60a7-4a2d-b2be-5cf49df8185e"
      unitRef="usd">601602000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMi01LTEtMS00NzE5MA_0c4b448b-c300-4ba5-8732-0e0082ec5506"
      unitRef="usd">614680000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMy0xLTEtMS00NzE5MA_2c3c627e-d8d7-40e3-8388-274e40737123"
      unitRef="usd">390459000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMy0zLTEtMS00NzE5MA_79058fb0-048c-4e5a-98b8-0214557913e6"
      unitRef="usd">428586000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMy01LTEtMS00NzE5MA_10398e83-9ebb-42af-a75c-1853f043b9bb"
      unitRef="usd">438424000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNC0xLTEtMS00NzE5MA_54165001-1bae-46ee-ae94-5fd6a3f3ad7f"
      unitRef="usd">152292000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNC0zLTEtMS00NzE5MA_f37bcd03-4282-4b11-8fb9-d2b53ebe5916"
      unitRef="usd">173016000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNC01LTEtMS00NzE5MA_8f84ff5a-15f3-47b1-9d7d-ebf059836bd4"
      unitRef="usd">176256000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNS0xLTEtMS00NzE5MA_e32b9b30-452f-46fe-8b9b-40cfcd097dab"
      unitRef="usd">32452000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNS0zLTEtMS00NzE5MA_ff507e00-866e-4ca0-8c26-ef90bf43cbc5"
      unitRef="usd">30917000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNS01LTEtMS00NzE5MA_f53f22b5-2cca-42fe-80a3-8eea7bb26a47"
      unitRef="usd">31450000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNi0xLTEtMS00NzE5MA_87517997-ac4c-47b0-b0eb-ecf954b5fb26"
      unitRef="usd">105292000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNi0zLTEtMS00NzE5MA_9a67ed89-2d18-4775-8794-8ab4b7909139"
      unitRef="usd">118846000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNi01LTEtMS00NzE5MA_1c720ff6-aaed-4c6e-afdd-f3d6e371155f"
      unitRef="usd">107539000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNy0xLTEtMS00NzE5MA_d0bca151-8521-461f-b11a-19277de2ab06"
      unitRef="usd">14548000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNy0zLTEtMS00NzE5MA_4d8403ca-d133-4945-a8af-7b88e0b637f8"
      unitRef="usd">23253000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfNy01LTEtMS00NzE5MA_c1880c7d-d6c7-43f7-8b9c-bc566c687e12"
      unitRef="usd">37267000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfOC0xLTEtMS00NzE5MA_f9a442a9-8c3d-4249-81de-3f6c1a2236ef"
      unitRef="usd">-2200000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfOC0zLTEtMS00NzE5MA_2182a58e-40cc-442a-b1ca-a29310d4e305"
      unitRef="usd">-566000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfOC01LTEtMS00NzE5MA_e903b3ea-6d88-4687-b64f-3364f8dad036"
      unitRef="usd">-1422000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfOS0xLTEtMS00NzE5MA_d21565eb-ff69-4261-a560-01cdbc4b5df8"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfOS0zLTEtMS00NzE5MA_114590eb-1007-4f7a-bef8-56d288c94691"
      unitRef="usd">-6050000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfOS01LTEtMS00NzE5MA_5efb4f5e-520f-4873-a660-e30ea7a64ff1"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfBusiness>
    <ueic:AccruedSocialInsuranceAdjustment
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTAtMS0xLTEtNDcxOTA_5d44b112-bed2-42fb-a3f3-1f0ca166cac6"
      unitRef="usd">0</ueic:AccruedSocialInsuranceAdjustment>
    <ueic:AccruedSocialInsuranceAdjustment
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTAtMy0xLTEtNDcxOTA_00c2d8dd-f738-4d22-b9f9-c904446ac91f"
      unitRef="usd">0</ueic:AccruedSocialInsuranceAdjustment>
    <ueic:AccruedSocialInsuranceAdjustment
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTAtNS0xLTEtNDcxOTA_54c544c9-69b3-4c88-9773-59a60deb92cd"
      unitRef="usd">9464000</ueic:AccruedSocialInsuranceAdjustment>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTEtMS0xLTEtNDcxOTA_a2992914-a63a-4061-9f86-d1bf58680e93"
      unitRef="usd">-955000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTEtMy0xLTEtNDcxOTA_94f7ec75-b7ca-4470-8499-0f3f824da703"
      unitRef="usd">-557000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTEtNS0xLTEtNDcxOTA_0ab43c9c-678b-4b35-9d89-73e5762f1091"
      unitRef="usd">-1404000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTItMS0xLTEtNDcxOTA_025e3c99-5727-4837-8e09-7d6d39bc2542"
      unitRef="usd">11393000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTItMy0xLTEtNDcxOTA_961ddb8f-4a56-4408-9dc1-4df19cbc5d02"
      unitRef="usd">16080000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTItNS0xLTEtNDcxOTA_df1b1b1f-d7b2-447c-a98a-70f2f80e7a55"
      unitRef="usd">43905000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTMtMS0xLTEtNDcxOTA_f8f57325-c808-472f-bfe3-b578735db2d2"
      unitRef="usd">10986000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTMtMy0xLTEtNDcxOTA_d04496a8-777e-43f5-b15c-ab1026b59732"
      unitRef="usd">10779000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTMtNS0xLTEtNDcxOTA_b814d915-dc9f-4efa-a7b5-7c96700c289b"
      unitRef="usd">5333000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTQtMS0xLTEtNDcxOTA_0f50d7df-b9e9-4024-ad69-2d00c1187b57"
      unitRef="usd">407000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTQtMy0xLTEtNDcxOTA_3f4e27d8-d8a4-4500-a3f9-3e80a7474adc"
      unitRef="usd">5301000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTQtNS0xLTEtNDcxOTA_30a26fb1-df24-49a7-b87e-c68b64567774"
      unitRef="usd">38572000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTctMS0xLTEtNDcxOTA_4812f231-bbfa-4676-a450-d9b715228e66"
      unitRef="usdPerShare">0.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTctMy0xLTEtNDcxOTA_19aefb08-757c-46ab-99bc-5e851ed038c1"
      unitRef="usdPerShare">0.39</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTctNS0xLTEtNDcxOTA_fd4d18b3-46d6-4022-8060-68364205dc7b"
      unitRef="usdPerShare">2.78</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTgtMS0xLTEtNDcxOTA_e8bc1459-a685-42a2-bc05-f7431a0f341c"
      unitRef="usdPerShare">0.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTgtMy0xLTEtNDcxOTA_89cc205d-c835-45aa-ab5f-eb26d0954fde"
      unitRef="usdPerShare">0.39</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMTgtNS0xLTEtNDcxOTA_14dc97b5-c10c-4394-a585-654f6f3f9a3b"
      unitRef="usdPerShare">2.72</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMjAtMS0xLTEtNDcxOTA_bbebe2fb-6639-439b-8ebc-c648d42d82b8"
      unitRef="shares">12703000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMjAtMy0xLTEtNDcxOTA_36744ff5-155e-46fe-8d3c-5c6ffd9bab9c"
      unitRef="shares">13465000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMjAtNS0xLTEtNDcxOTA_44b96cc7-aa1e-482d-ba9e-e16b9bf7201d"
      unitRef="shares">13893000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMjEtMS0xLTEtNDcxOTA_1b25dc8d-19e3-492e-8eee-f1cd2b124b79"
      unitRef="shares">12779000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMjEtMy0xLTEtNDcxOTA_62957ff8-e052-4310-9853-e18ba05f395d"
      unitRef="shares">13742000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82NC9mcmFnOmVmMzQwNDVhYTFjYjRiNzk4MWQ5MmRlMzE5M2ZkOTg4L3RhYmxlOjVmZTI5OTgyN2ExYzQ1MmFiY2JiYmU4NWNhNGY5ZGVmL3RhYmxlcmFuZ2U6NWZlMjk5ODI3YTFjNDUyYWJjYmJiZTg1Y2E0ZjlkZWZfMjEtNS0xLTEtNDcxOTA_a64eebdf-3227-4af1-8d0b-00a50e458e2c"
      unitRef="shares">14166000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfMi0xLTEtMS00NzE5MA_f42908d9-9ec3-4384-97b1-44d28728c38d"
      unitRef="usd">407000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfMi0zLTEtMS00NzE5MA_0331097a-bbd0-42b1-9f36-ec721cb0a629"
      unitRef="usd">5301000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfMi01LTEtMS00NzE5MA_289b83a5-a863-45b6-93e9-22bec292ab8d"
      unitRef="usd">38572000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfNC0xLTEtMS00NzE5MA_279e2ae9-c0e9-4191-92f2-79a74d88e572"
      unitRef="usd">-7663000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfNC0zLTEtMS00NzE5MA_da3e5f9f-c59a-448b-8b14-5ea588333d51"
      unitRef="usd">-427000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfNC01LTEtMS00NzE5MA_c48ea919-cdc1-4a25-a092-08d4e1106926"
      unitRef="usd">4259000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <ueic:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxDueToSaleOfSubsidiary
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfNS0xLTEtMS00NzE5MA_b47f93da-effd-4e6f-b4bd-8a1232c5f625"
      unitRef="usd">0</ueic:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxDueToSaleOfSubsidiary>
    <ueic:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxDueToSaleOfSubsidiary
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfNS0zLTEtMS00NzE5MA_1be84d45-7c9d-48f5-89a7-d242793af399"
      unitRef="usd">5425000</ueic:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxDueToSaleOfSubsidiary>
    <ueic:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxDueToSaleOfSubsidiary
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfNS01LTEtMS00NzE5MA_ed45d0af-450c-49e6-a44c-33402d50ffe4"
      unitRef="usd">0</ueic:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxDueToSaleOfSubsidiary>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfNi0xLTEtMS00NzE5MA_c604885c-c6af-4a8c-950e-fc54602e61e8"
      unitRef="usd">-7256000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfNi0zLTEtMS00NzE5MA_89576243-4c59-4f2c-ad37-677f66b16a0d"
      unitRef="usd">10299000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV82Ny9mcmFnOjU0MTZhYWM0ZDVlODRhYTY4NzRkYzllYjAwMWQ4MzgyL3RhYmxlOjVhNWViMmRlOGNhZTQ2MWY4ZmQ5YzNjZjgxZjAyYTFhL3RhYmxlcmFuZ2U6NWE1ZWIyZGU4Y2FlNDYxZjhmZDljM2NmODFmMDJhMWFfNi01LTEtMS00NzE5MA_bcb6507c-20bc-47a5-baf5-c968306c34fc"
      unitRef="usd">42831000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="id7ab98a9b65b433897fc96af893c1715_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMi0xLTEtMS00NzE5MA_0dc6590e-e58d-4427-80cd-fe830e03a847"
      unitRef="shares">24118000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="id7ab98a9b65b433897fc96af893c1715_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMi0zLTEtMS00NzE5MA_cda0b2f9-f6a0-473d-826f-8589fa281028"
      unitRef="usd">241000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="ibaf2b356f7a54f609efc6777de459944_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMi01LTEtMS00NzE5MA_24be9a2b-115d-4cf2-8d01-6057df95dc29"
      unitRef="shares">10174000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="ibaf2b356f7a54f609efc6777de459944_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMi03LTEtMS00NzE5MA_f2c61118-d9e0-4b4a-874d-d5692d67f468"
      unitRef="usd">-277817000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7038b4b2d6ea4de2be9c7a84d92ada04_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMi05LTEtMS00NzE5MA_fc20e1d1-d22d-464a-99ef-9bc4b6b80a26"
      unitRef="usd">288338000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i959cb0e8c0984a1a8d4fed6c48ec31de_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMi0xMS0xLTEtNDcxOTA_54c3f16d-735b-4db9-9633-a792f6980e18"
      unitRef="usd">-22781000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6b9674bd02e9453d95a39d8dd6a49774_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMi0xMy0xLTEtNDcxOTA_9e0e269b-578f-4837-a354-5dea0162dfda"
      unitRef="usd">286418000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2b3debd26b59457c8436e5e4076ec943_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMi0xNS0xLTEtNDcxOTA_af556476-0707-482b-ad72-60ab888f9a75"
      unitRef="usd">274399000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="iaebd25ddeabf45cd990a1865f45f25fa_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMy0xMy0xLTEtNDcxOTA_1ac572b5-7a9e-4da1-8423-784818fdaa35"
      unitRef="usd">38572000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMy0xNS0xLTEtNDcxOTA_f6d80cb3-d14a-479d-bdc6-ba1192cce4bd"
      unitRef="usd">38572000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i6875437e23b745f6861885c062a9749f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNC0xMS0xLTEtNDcxOTA_c3ecc3d8-36c4-465e-a7be-e316da1f6852"
      unitRef="usd">4259000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNC0xNS0xLTEtNDcxOTA_586ede01-0b09-41e2-a34a-6f7c734cdb92"
      unitRef="usd">4259000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i404da363adec4c9da4bd9569ed001160_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNS0xLTEtMS00NzE5MA_0a7cb464-0613-467b-bc5f-d026879c2842"
      unitRef="shares">169000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i404da363adec4c9da4bd9569ed001160_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNS0zLTEtMS00NzE5MA_0bb9f20c-2d65-4ff3-8a8a-20239f2a246f"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ia1e6188bc13642fe8a63a45ba38cf18d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNS05LTEtMS00NzE5MA_04efee4d-1301-4651-a6ae-755a4a3e03ca"
      unitRef="usd">1135000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNS0xNS0xLTEtNDcxOTA_9899b50c-11d9-4ab7-a7fc-983e1d39d28d"
      unitRef="usd">1136000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="ie9d5c35b45c146fe8a7a51ed6312de09_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNi01LTEtMS00NzE5MA_5962c189-34df-4634-95b6-1c209bc196d4"
      unitRef="shares">444000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ie9d5c35b45c146fe8a7a51ed6312de09_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNi03LTEtMS00NzE5MA_3a01f636-f2ba-472f-9bfa-6a64bc57ab0b"
      unitRef="usd">17678000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNi0xNS0xLTEtNDcxOTA_73ab9fa3-7345-44ac-bca2-12505fc86ad8"
      unitRef="usd">17678000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i404da363adec4c9da4bd9569ed001160_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNy0xLTEtMS00NzE5MA_f16f911c-7774-43f6-b66d-1709e2a1d0f0"
      unitRef="shares">80000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i404da363adec4c9da4bd9569ed001160_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNy0zLTEtMS00NzE5MA_805f6549-4587-47dc-b5f7-6157faa0e284"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ia1e6188bc13642fe8a63a45ba38cf18d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNy05LTEtMS00NzE5MA_65a86f57-8060-49c7-9b85-3b8299eed0b3"
      unitRef="usd">2804000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfNy0xNS0xLTEtNDcxOTA_60fd3df9-47c8-4b33-8519-6bf6ab90fa11"
      unitRef="usd">2805000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <ueic:SharesIssuedToDirectorsShares
      contextRef="i404da363adec4c9da4bd9569ed001160_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfOC0xLTEtMS00NzE5MA_afc04f2a-d69d-437f-a5d7-f9c33ac63926"
      unitRef="shares">25000</ueic:SharesIssuedToDirectorsShares>
    <ueic:SharesIssuedToDirectorsValue
      contextRef="i404da363adec4c9da4bd9569ed001160_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfOC0zLTEtMS00NzE5MA_81b4639f-5522-4709-aa19-5b6c38b2f4c4"
      unitRef="usd">1000</ueic:SharesIssuedToDirectorsValue>
    <ueic:SharesIssuedToDirectorsValue
      contextRef="ia1e6188bc13642fe8a63a45ba38cf18d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfOC05LTEtMS00NzE5MA_912b4b39-9b3e-43cc-92be-841f15f7d379"
      unitRef="usd">-1000</ueic:SharesIssuedToDirectorsValue>
    <ueic:SharesIssuedToDirectorsValue
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfOC0xNS0xLTEtNDcxOTA_39535a4c-1aeb-48ad-9864-98bae977d069"
      unitRef="usd">0</ueic:SharesIssuedToDirectorsValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ia1e6188bc13642fe8a63a45ba38cf18d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfOS05LTEtMS00NzE5MA_cc212695-c974-4ddc-b803-3b14e8c072e4"
      unitRef="usd">9122000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfOS0xNS0xLTEtNDcxOTA_6c490764-b6f2-4aad-a188-2a9b4bd5cb1a"
      unitRef="usd">9122000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued
      contextRef="ia1e6188bc13642fe8a63a45ba38cf18d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTAtOS0xLTEtNDcxOTA_954c8c67-c03c-4ad9-8ce6-46f3caf71876"
      unitRef="usd">686000</us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTAtMTUtMS0xLTQ3MTkw_6f579eeb-3094-48d8-969d-cfd42013fd36"
      unitRef="usd">686000</us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="icf1b123505b447abaa6a28e2dadecb7d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTEtMS0xLTEtNDcxOTA_735d1423-a39d-44e1-956a-f75d767f1c83"
      unitRef="shares">24392000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="icf1b123505b447abaa6a28e2dadecb7d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTEtMy0xLTEtNDcxOTA_0408e14f-3fa7-43c6-a0aa-53240c378a54"
      unitRef="usd">244000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="i6644b7328576496bbafd43fb3e80c2be_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTEtNS0xLTEtNDcxOTA_bdb1fdef-4a12-443f-8504-2aa07c57811c"
      unitRef="shares">10618000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="i6644b7328576496bbafd43fb3e80c2be_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTEtNy0xLTEtNDcxOTA_f68ede04-3a5c-45bd-a554-1861f4bd97a1"
      unitRef="usd">-295495000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ide2018bf967c4dc2b42bae6d39d0991d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTEtOS0xLTEtNDcxOTA_6314499b-6815-4503-895c-2af007b23d16"
      unitRef="usd">302084000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id299786d9d3440aca6fc3285786a209f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTEtMTEtMS0xLTQ3MTkw_08db30d8-b737-451a-8453-fef8f5c07dd4"
      unitRef="usd">-18522000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie3b898aaf5134073b284b88b9bf328e2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTEtMTMtMS0xLTQ3MTkw_aec9d647-80de-42a1-a406-ca9d5b3880b7"
      unitRef="usd">324990000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTEtMTUtMS0xLTQ3MTkw_a9eac982-8dd5-4dc2-afcd-91ff99662cad"
      unitRef="usd">313301000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ic92ea013456144279ac4b7f6cad5a5ed_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTItMTMtMS0xLTQ3MTkw_5039a1bb-422f-4b21-a8ac-e736ffafdb1c"
      unitRef="usd">5301000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTItMTUtMS0xLTQ3MTkw_1594cd29-c9f9-44d1-8579-fea4b632eaf8"
      unitRef="usd">5301000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i3215573addcd4dbbaecb1fc1e266162d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTMtMTEtMS0xLTQ3MTkw_df1ef681-1378-46db-9ea7-b0d7438ba21b"
      unitRef="usd">-427000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTMtMTUtMS0xLTQ3MTkw_e7555401-b582-49c6-afc2-f7690db32bf7"
      unitRef="usd">-427000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <ueic:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxDueToSaleOfSubsidiary
      contextRef="i3215573addcd4dbbaecb1fc1e266162d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTQtMTEtMS0xLTQ3NTMx_b46d71dd-d70e-4b0c-a165-8d477f739ce8"
      unitRef="usd">5425000</ueic:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxDueToSaleOfSubsidiary>
    <ueic:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxDueToSaleOfSubsidiary
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTQtMTUtMS0xLTQ3NTQw_b14a0f21-0375-4699-9ac7-da7f53ce25d0"
      unitRef="usd">5425000</ueic:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxDueToSaleOfSubsidiary>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="ib317cb4f68bc4a4aa89df01c97ff5df4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTQtMS0xLTEtNDcxOTA_a69e4539-4918-41fa-a220-beea8c565737"
      unitRef="shares">203000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ib317cb4f68bc4a4aa89df01c97ff5df4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTQtMy0xLTEtNDcxOTA_332fd6ee-82f9-4167-8270-51724855a9cf"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i9954af0f5eb044c98b2787cd2c856fa7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTQtOS0xLTEtNDcxOTA_8ba5edb9-de99-4310-8c34-78bdf3de7a68"
      unitRef="usd">1090000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTQtMTUtMS0xLTQ3MTkw_5ad64b8a-fb61-4ec9-8529-b8120695bc8f"
      unitRef="usd">1092000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="ib6fe94662a4f4339b51bebeeb450de3b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTUtNS0xLTEtNDcxOTA_ff8e6f67-45d8-4754-8d50-90759f87cb62"
      unitRef="shares">1243000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ib6fe94662a4f4339b51bebeeb450de3b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTUtNy0xLTEtNDcxOTA_5628bab2-db89-4330-be50-56e9e811649b"
      unitRef="usd">59664000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTUtMTUtMS0xLTQ3MTkw_291d9f21-09c9-4e76-86db-173379866cac"
      unitRef="usd">59664000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ib317cb4f68bc4a4aa89df01c97ff5df4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTYtMS0xLTEtNDcxOTA_73242a63-7db6-4e65-8f70-ca0aa0e8be39"
      unitRef="shares">54000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ib317cb4f68bc4a4aa89df01c97ff5df4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTYtMy0xLTEtNDcxOTA_46102871-e286-442e-b6aa-366e6c6f4858"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i9954af0f5eb044c98b2787cd2c856fa7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTYtOS0xLTEtNDcxOTA_fa2d2563-c518-4227-838d-f56a1035ec22"
      unitRef="usd">1637000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTYtMTUtMS0xLTQ3MTkw_9a7dc6d0-754e-4004-8603-a315a73dce53"
      unitRef="usd">1638000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <ueic:SharesIssuedToDirectorsShares
      contextRef="ib317cb4f68bc4a4aa89df01c97ff5df4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTctMS0xLTEtNDcxOTA_269549b5-03b2-471f-8f60-edcc81e5fadb"
      unitRef="shares">30000</ueic:SharesIssuedToDirectorsShares>
    <ueic:SharesIssuedToDirectorsValue
      contextRef="ib317cb4f68bc4a4aa89df01c97ff5df4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTctMy0xLTEtNDcxOTA_ce70c564-2adb-47d5-a671-ddae1d0ada76"
      unitRef="usd">0</ueic:SharesIssuedToDirectorsValue>
    <ueic:SharesIssuedToDirectorsValue
      contextRef="i9954af0f5eb044c98b2787cd2c856fa7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTctOS0xLTEtNDcxOTA_2f70dcf1-17d1-4027-85b7-a7493d6e1638"
      unitRef="usd">0</ueic:SharesIssuedToDirectorsValue>
    <ueic:SharesIssuedToDirectorsValue
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTctMTUtMS0xLTQ3MTkw_38afd10d-fc3c-41dc-9c9f-42afda457694"
      unitRef="usd">0</ueic:SharesIssuedToDirectorsValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i9954af0f5eb044c98b2787cd2c856fa7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTgtOS0xLTEtNDcxOTA_194f9b38-b0ef-48e2-8cd6-3d2b7d47feeb"
      unitRef="usd">9969000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTgtMTUtMS0xLTQ3MTkw_2ebee46f-a6cd-48ad-aef9-7a55769ecebc"
      unitRef="usd">9969000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued
      contextRef="i9954af0f5eb044c98b2787cd2c856fa7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTktOS0xLTEtNDcxOTA_ce991ce3-39ea-441e-891a-13ed65871cf4"
      unitRef="usd">-686000</us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMTktMTUtMS0xLTQ3MTkw_ae7c589d-06df-4562-a392-bd274b8b98bc"
      unitRef="usd">-686000</us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i1183956b87b64392bb2e9918a72462f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjAtMS0xLTEtNDcxOTA_9f706fdb-5969-4c7e-ace0-93c80fdce386"
      unitRef="shares">24679000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i1183956b87b64392bb2e9918a72462f2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjAtMy0xLTEtNDcxOTA_c12f2ff2-c3f7-4e70-b9f4-46792d0fa4b8"
      unitRef="usd">247000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="i227f0ad52de846969ab59ff53be99c86_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjAtNS0xLTEtNDcxOTA_5111c37c-3312-4a62-8c58-7e3c0eabbdfd"
      unitRef="shares">11861000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="i227f0ad52de846969ab59ff53be99c86_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjAtNy0xLTEtNDcxOTA_13956ad6-d4ed-48a5-aeaf-f20deab0149f"
      unitRef="usd">-355159000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id4fefd03039c4837a2932e050983ecee_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjAtOS0xLTEtNDcxOTA_4ef042ef-3cba-4f07-8547-693d4462e382"
      unitRef="usd">314094000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iecc3ba12a56040dcb811607b314bdcca_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjAtMTEtMS0xLTQ3MTkw_fb8b8679-0c1f-475a-ae5b-5979206d2804"
      unitRef="usd">-13524000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5d058b3fd34e4a109815ce9341429d19_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjAtMTMtMS0xLTQ3MTkw_7026834d-127b-4796-982e-51cc174ae5db"
      unitRef="usd">330291000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjAtMTUtMS0xLTQ3MTkw_239e2f1d-f4e9-4574-904e-0f03d90eb3a8"
      unitRef="usd">275949000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i76c5f094692f4026b2f9b7f74669203f_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjEtMTMtMS0xLTQ3MTkw_f5dd333a-960d-4783-970d-4d002505ea2e"
      unitRef="usd">407000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjEtMTUtMS0xLTQ3MTkw_34c571d8-3f79-4b74-93c8-f48c2b1e369e"
      unitRef="usd">407000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i6940d9cc2ba6452f9b7dab7385d02ccf_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjItMTEtMS0xLTQ3MTkw_88caea0c-887a-446d-945d-6bcdede025d2"
      unitRef="usd">-7663000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjItMTUtMS0xLTQ3MTkw_cd7c35bf-a57d-4826-b5ab-29938ffa14dd"
      unitRef="usd">-7663000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i8a2b80f052d44bff89b04ef70c60f3e0_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjQtMS0xLTEtNDcxOTA_f40d4512-a24a-4424-9622-a5d727db43d5"
      unitRef="shares">212000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i8a2b80f052d44bff89b04ef70c60f3e0_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjQtMy0xLTEtNDcxOTA_2de1718f-eb86-4975-b886-74f88734ce33"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i6763f4af0a3c4fe993f37e9b67b54b96_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjQtOS0xLTEtNDcxOTA_9afceda5-b07d-4715-9461-b32226499006"
      unitRef="usd">1197000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjQtMTUtMS0xLTQ3MTkw_d3219562-f266-4ace-8291-4a1edcc04ab1"
      unitRef="usd">1199000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i6d60eb4c56f847e4b069bc04e8ffa638_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjUtNS0xLTEtNDcxOTA_5eeaf4f8-e9cb-4d2d-bfd2-f5cd7aaed849"
      unitRef="shares">434000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i6d60eb4c56f847e4b069bc04e8ffa638_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjUtNy0xLTEtNDcxOTA_35bbd420-5544-45e7-abc8-0f238a658988"
      unitRef="usd">13035000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjUtMTUtMS0xLTQ3MTkw_d50c8c45-8919-4d5e-97dc-0b88561bb410"
      unitRef="usd">13035000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i8a2b80f052d44bff89b04ef70c60f3e0_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjYtMS0xLTEtNDcxOTA_e0e12b1a-bbfc-4d1a-9582-1f80236d90a5"
      unitRef="shares">80000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i8a2b80f052d44bff89b04ef70c60f3e0_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjYtMy0xLTEtNDcxOTA_a5a94b94-41b7-4df6-93ab-1a2ee5794b82"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i6763f4af0a3c4fe993f37e9b67b54b96_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjYtOS0xLTEtNDcxOTA_7cf9b37e-10c2-4328-a9be-534e4652f314"
      unitRef="usd">1535000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjYtMTUtMS0xLTQ3MTkw_d24b8200-58fe-434f-881b-9f7282fc2f04"
      unitRef="usd">1536000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <ueic:SharesIssuedToDirectorsShares
      contextRef="i8a2b80f052d44bff89b04ef70c60f3e0_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjctMS0xLTEtNDcxOTA_8a78b86e-f71a-47bb-90d4-8c9feadab5cd"
      unitRef="shares">29000</ueic:SharesIssuedToDirectorsShares>
    <ueic:SharesIssuedToDirectorsValue
      contextRef="i8a2b80f052d44bff89b04ef70c60f3e0_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjctMy0xLTEtNDcxOTA_21024e58-36a4-4da5-a2c2-ab59447b73d0"
      unitRef="usd">0</ueic:SharesIssuedToDirectorsValue>
    <ueic:SharesIssuedToDirectorsValue
      contextRef="i6763f4af0a3c4fe993f37e9b67b54b96_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjctOS0xLTEtNDcxOTA_541dc3bc-15a3-42b7-9eb6-00c2a34e7362"
      unitRef="usd">0</ueic:SharesIssuedToDirectorsValue>
    <ueic:SharesIssuedToDirectorsValue
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjctMTUtMS0xLTQ3MTkw_fcb0007f-5b65-42ea-b48b-a2da78b8456b"
      unitRef="usd">0</ueic:SharesIssuedToDirectorsValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i6763f4af0a3c4fe993f37e9b67b54b96_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjgtOS0xLTEtNDcxOTA_5adbec6c-a2df-4371-819b-f44ee216ab60"
      unitRef="usd">10013000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMjgtMTUtMS0xLTQ3MTkw_0398e660-e615-4c3a-8010-0d54bb0d5968"
      unitRef="usd">10013000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ifc042961112e4f85a43aaffd868474d3_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMzAtMS0xLTEtNDcxOTA_f1ffb0ae-1c9d-45b1-a30e-9556e4addda4"
      unitRef="shares">25000000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ifc042961112e4f85a43aaffd868474d3_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMzAtMy0xLTEtNDcxOTA_2e723daa-3883-475f-8b39-88a2fe55f6b3"
      unitRef="usd">250000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="i030f9be3654e44b39fdc08341cae2d2b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMzAtNS0xLTEtNDcxOTA_0e5a9fa2-577f-49ec-a558-4c3e2eec071c"
      unitRef="shares">12295000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="i030f9be3654e44b39fdc08341cae2d2b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMzAtNy0xLTEtNDcxOTA_b65fe695-a1f8-4127-810f-954bc2b5a47f"
      unitRef="usd">-368194000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifaf8786753ab4197851cee899e57d845_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMzAtOS0xLTEtNDcxOTA_9e7df258-7547-4d21-9555-f6f75add14f8"
      unitRef="usd">326839000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2514fdada708438abbcd5812ce793a11_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMzAtMTEtMS0xLTQ3MTkw_147583d6-ac75-469c-977c-1ee6e88a65e3"
      unitRef="usd">-21187000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia4ac3663c3374557b17d80c0d2def1d2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMzAtMTMtMS0xLTQ3MTkw_311042b9-9261-4478-9ffc-f600fb597359"
      unitRef="usd">330698000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83MC9mcmFnOjdkYTk2OWJmNTA4YzQ1Y2ViMzUwOTlkYTQ4ZTVlMjFiL3RhYmxlOmI5ZDk2MzUwNTAzYjRmNGU5MDc2M2ZiMGRlMTEyMTMwL3RhYmxlcmFuZ2U6YjlkOTYzNTA1MDNiNGY0ZTkwNzYzZmIwZGUxMTIxMzBfMzAtMTUtMS0xLTQ3MTkw_cda8d3fa-605d-4b0b-84e0-a1118898b3df"
      unitRef="usd">268406000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMy0xLTEtMS00NzE5MA_1bb5b17b-8565-4d93-8f5c-442df61fb08c"
      unitRef="usd">407000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMy0zLTEtMS00NzE5MA_16862607-1f96-4f04-aa50-58c2c82fd33d"
      unitRef="usd">5301000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMy01LTEtMS00NzE5MA_ddff0854-f8e6-4100-8a69-d564215eeed1"
      unitRef="usd">38572000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNS0xLTEtMS00NzE5MA_f4d3f839-f358-4ec4-a5c7-bd224b3ca3c7"
      unitRef="usd">24033000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNS0zLTEtMS00NzE5MA_537731aa-a73a-481a-a9c6-bd66fbc9c92a"
      unitRef="usd">26747000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNS01LTEtMS00NzE5MA_c4c28d94-9061-4df4-ae50-6cd44d1b88df"
      unitRef="usd">29735000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNi0xLTEtMS00NzE5MA_581294a6-ba5e-4200-bb9c-e987851426ef"
      unitRef="usd">-182000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNi0zLTEtMS00NzE5MA_acccda2f-d6c5-4efa-9328-c0664b349b96"
      unitRef="usd">0</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNi01LTEtMS00NzE5MA_7ca4d5c9-52b8-4ac0-ab3c-e9bc6152c526"
      unitRef="usd">332000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfOC0xLTEtMS00NzE5MA_9b0b9287-82ce-45dc-9754-d6415e5d1e15"
      unitRef="usd">1377000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfOC0zLTEtMS00NzE5MA_0c74cee6-b210-4333-a4db-62aeaf50fe16"
      unitRef="usd">-1560000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfOC01LTEtMS00NzE5MA_5211d970-37f8-4e79-8165-ffca3798162a"
      unitRef="usd">-478000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <ueic:SharesIssuedForEmployeeBenefitPlan
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfOS0xLTEtMS00NzE5MA_25080001-a246-48b3-aa58-7eb920a6d343"
      unitRef="usd">1199000</ueic:SharesIssuedForEmployeeBenefitPlan>
    <ueic:SharesIssuedForEmployeeBenefitPlan
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfOS0zLTEtMS00NzE5MA_2140f50e-ff11-4a16-b4e3-2c76ee82fce6"
      unitRef="usd">1092000</ueic:SharesIssuedForEmployeeBenefitPlan>
    <ueic:SharesIssuedForEmployeeBenefitPlan
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfOS01LTEtMS00NzE5MA_6374884b-7ee5-4d75-ae4b-89b5d810bf44"
      unitRef="usd">1136000</ueic:SharesIssuedForEmployeeBenefitPlan>
    <us-gaap:ShareBasedCompensation
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTAtMS0xLTEtNDcxOTA_cdf06b35-8aae-489d-9d87-29c2e341b6c3"
      unitRef="usd">10013000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTAtMy0xLTEtNDcxOTA_d527ca5f-cb02-4335-b943-ae0dbd219f7c"
      unitRef="usd">9969000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTAtNS0xLTEtNDcxOTA_2c4f1ef1-46fe-416b-a8c9-2834c6f672e8"
      unitRef="usd">9122000</us-gaap:ShareBasedCompensation>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTEtMS0xLTEtNDcxOTA_e74348aa-6d4c-462e-b323-d09616f9e5ee"
      unitRef="usd">0</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTEtMy0xLTEtNDcxOTA_8e1cac6c-5df6-4ca1-bfe2-69209a3b7ffa"
      unitRef="usd">-686000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTEtNS0xLTEtNDcxOTA_18eaccfc-dffc-4e42-99a1-4487da1884f6"
      unitRef="usd">686000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTItMS0xLTEtNDcxOTA_ce9b8804-bbe3-41f9-8316-f75090669772"
      unitRef="usd">2888000</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTItMy0xLTEtNDcxOTA_7c84df73-84cb-49b7-a3c8-232273aa5f71"
      unitRef="usd">3338000</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTItNS0xLTEtNDcxOTA_8269c0c4-799d-42fa-bde4-bfe140140369"
      unitRef="usd">134000</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <ueic:GainLossOnDispositionOfBusinessNetOfCashTransferred
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTMtMS0xLTEtNDcxOTA_f5aa3753-19b2-43a1-917d-fabdde9fea1c"
      unitRef="usd">0</ueic:GainLossOnDispositionOfBusinessNetOfCashTransferred>
    <ueic:GainLossOnDispositionOfBusinessNetOfCashTransferred
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTMtMy0xLTEtNDcxOTA_c755fd7a-74c8-4d70-92fb-b168dfb858a5"
      unitRef="usd">-5960000</ueic:GainLossOnDispositionOfBusinessNetOfCashTransferred>
    <ueic:GainLossOnDispositionOfBusinessNetOfCashTransferred
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTMtNS0xLTEtNDcxOTA_b60c5127-eca5-44f2-a2a1-5582fe384fcb"
      unitRef="usd">0</ueic:GainLossOnDispositionOfBusinessNetOfCashTransferred>
    <ueic:AccruedSocialInsuranceAdjustment
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTQtMS0xLTEtNDcxOTA_ee6894a5-724f-466c-98b9-52d6409e29db"
      unitRef="usd">0</ueic:AccruedSocialInsuranceAdjustment>
    <ueic:AccruedSocialInsuranceAdjustment
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTQtMy0xLTEtNDcxOTA_68647220-4b65-4e2e-bfd5-5dba15326852"
      unitRef="usd">0</ueic:AccruedSocialInsuranceAdjustment>
    <ueic:AccruedSocialInsuranceAdjustment
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTQtNS0xLTEtNDcxOTA_c62125ff-afe8-4463-aba2-dc0a9277f421"
      unitRef="usd">9464000</ueic:AccruedSocialInsuranceAdjustment>
    <ueic:GainLossOnDispositionOfBusinessExcludingSubsidiary
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTUtMS0xLTEtNDcxOTA_b44a84b4-f975-43f7-8389-b91a6ffb3e5a"
      unitRef="usd">0</ueic:GainLossOnDispositionOfBusinessExcludingSubsidiary>
    <ueic:GainLossOnDispositionOfBusinessExcludingSubsidiary
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTUtMy0xLTEtNDcxOTA_5d5e6b7a-a08c-4649-b5ca-a60427de1b12"
      unitRef="usd">0</ueic:GainLossOnDispositionOfBusinessExcludingSubsidiary>
    <ueic:GainLossOnDispositionOfBusinessExcludingSubsidiary
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTUtNS0xLTEtNDcxOTA_6e95438f-99ad-49a2-aa90-6c0eafd88c92"
      unitRef="usd">-712000</ueic:GainLossOnDispositionOfBusinessExcludingSubsidiary>
    <us-gaap:IncreaseDecreaseInReceivables
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTctMS0xLTEtNDcxOTA_bf994711-b0f0-40c8-9ee8-02a483b45e5b"
      unitRef="usd">-12765000</us-gaap:IncreaseDecreaseInReceivables>
    <us-gaap:IncreaseDecreaseInReceivables
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTctMy0xLTEtNDcxOTA_7df593e8-2da1-4ad7-bd24-38cd81d69abb"
      unitRef="usd">-2007000</us-gaap:IncreaseDecreaseInReceivables>
    <us-gaap:IncreaseDecreaseInReceivables
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTctNS0xLTEtNDcxOTA_9cf4ac3d-3678-46d7-8183-fa740cd4baa6"
      unitRef="usd">-14884000</us-gaap:IncreaseDecreaseInReceivables>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTgtMS0xLTEtNDcxOTA_8e9d1788-8b76-4392-b25c-45b694c033ab"
      unitRef="usd">9913000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTgtMy0xLTEtNDcxOTA_2b4133ae-6e01-4a69-a036-925271fcb1cd"
      unitRef="usd">14985000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTgtNS0xLTEtNDcxOTA_945f2d04-e690-474c-b851-ecd2e04d8540"
      unitRef="usd">-28295000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTktMS0xLTEtNDcxOTA_366ac6ef-e415-41a3-a448-4af47b0a0759"
      unitRef="usd">917000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTktMy0xLTEtNDcxOTA_830f5fb2-9051-480f-ad84-a60f7712cb0c"
      unitRef="usd">630000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMTktNS0xLTEtNDcxOTA_1473cd4c-233e-4426-94a3-ae54564aaba2"
      unitRef="usd">245000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjAtMS0xLTEtNDcxOTA_7cfe222f-eb31-400d-88ca-e36823584161"
      unitRef="usd">-28670000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjAtMy0xLTEtNDcxOTA_b6c09c58-c3ab-4030-9606-d7a7c85ab417"
      unitRef="usd">870000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjAtNS0xLTEtNDcxOTA_cce357bd-84c9-4c9d-8200-e0fc9298f683"
      unitRef="usd">-33543000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjEtMS0xLTEtNDcxOTA_832c1a2c-57ea-4e87-9f01-1f746b4670ed"
      unitRef="usd">-2074000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjEtMy0xLTEtNDcxOTA_c472ae69-3fef-4906-808e-da9fbf2ed495"
      unitRef="usd">2860000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjEtNS0xLTEtNDcxOTA_58f0ed78-09a5-4640-bbc5-22c43050b6ad"
      unitRef="usd">-6486000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjItMS0xLTEtNDcxOTA_dd7cf998-4094-4746-be26-3dda70a0964a"
      unitRef="usd">10926000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjItMy0xLTEtNDcxOTA_c716313c-5ef9-4642-b044-ba4bc680fa5f"
      unitRef="usd">40283000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjItNS0xLTEtNDcxOTA_81b0ee51-3f97-4c15-b77e-8752ad0c29d0"
      unitRef="usd">73392000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <ueic:PaymentsForPurchaseOfTermDeposit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjQtMS0xLTEtNDcxOTA_4020a7e8-6d6d-4e85-8012-3c3dc591abb7"
      unitRef="usd">7487000</ueic:PaymentsForPurchaseOfTermDeposit>
    <ueic:PaymentsForPurchaseOfTermDeposit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjQtMy0xLTEtNDcxOTA_8616757d-4f2a-4b93-941e-4507b93880bb"
      unitRef="usd">0</ueic:PaymentsForPurchaseOfTermDeposit>
    <ueic:PaymentsForPurchaseOfTermDeposit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjQtNS0xLTEtNDcxOTA_03746684-0266-4cbf-b150-af6be37a1f9b"
      unitRef="usd">0</ueic:PaymentsForPurchaseOfTermDeposit>
    <ueic:ProceedsFromRedemptionOfTermDeposit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjUtMS0xLTEtNDc1NzU_92c92b79-b702-4dd9-ac0a-4db4cf3e48dc"
      unitRef="usd">7803000</ueic:ProceedsFromRedemptionOfTermDeposit>
    <ueic:ProceedsFromRedemptionOfTermDeposit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjUtMy0xLTEtNDc1ODM_34e7bd6f-5acb-4443-9875-93af6a4c4b7c"
      unitRef="usd">0</ueic:ProceedsFromRedemptionOfTermDeposit>
    <ueic:ProceedsFromRedemptionOfTermDeposit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjUtNS0xLTEtNDc1ODM_55e1b2c5-a0f9-4c52-8548-cf226517a486"
      unitRef="usd">0</ueic:ProceedsFromRedemptionOfTermDeposit>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjYtMS0xLTEtNDk0ODA_3dfb8dfd-93b9-4dc2-892e-feae15495914"
      unitRef="usd">939000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjYtMy0xLTEtNDk0ODg_b5afccf6-d963-4d9e-b828-25d472cf644a"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjYtNS0xLTEtNDk0ODg_8106ba85-b352-4bc9-bfd7-3872616c2db4"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjUtMS0xLTEtNDcxOTA_e8c365df-4b49-4707-9b29-f64e8b85e6e6"
      unitRef="usd">14006000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjUtMy0xLTEtNDcxOTA_e2c24081-f665-4f36-893e-f73b870a3ff8"
      unitRef="usd">12586000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjUtNS0xLTEtNDcxOTA_312c7c59-06c2-4693-9e0c-b5813a22657e"
      unitRef="usd">16862000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjctMS0xLTEtNDcxOTA_085e93ca-a3ee-4ce6-873c-acfdaf042358"
      unitRef="usd">6579000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjctMy0xLTEtNDcxOTA_b70589fa-5683-459d-bce8-52bff7fb4113"
      unitRef="usd">4455000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjctNS0xLTEtNDcxOTA_b7360435-5f81-4d7f-991b-104a90053d1c"
      unitRef="usd">6372000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsForRemovalCosts
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjgtMS0xLTEtNDcxOTA_b01b2583-7390-4396-8e81-dc142e3f4a9a"
      unitRef="usd">0</us-gaap:PaymentsForRemovalCosts>
    <us-gaap:PaymentsForRemovalCosts
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjgtMy0xLTEtNDcxOTA_6c77745b-d46a-47cb-a748-f532de91fd14"
      unitRef="usd">0</us-gaap:PaymentsForRemovalCosts>
    <us-gaap:PaymentsForRemovalCosts
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjgtNS0xLTEtNDcxOTA_c33b9250-ba3b-4994-b5f0-2321ac5b3e7d"
      unitRef="usd">500000</us-gaap:PaymentsForRemovalCosts>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjktMS0xLTEtNDcxOTA_1584d32f-c1df-438e-ab43-7fa5d72d2a18"
      unitRef="usd">-21208000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjktMy0xLTEtNDcxOTA_19c2eba7-19ba-48fc-93c6-e20e81d6ffb1"
      unitRef="usd">-17041000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMjktNS0xLTEtNDcxOTA_92260782-0193-425e-b866-b3c664f1b67b"
      unitRef="usd">-23734000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromShortTermDebt
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzEtMS0xLTEtNDcxOTA_d5baff2f-8c62-476c-b9dc-bee3b4353148"
      unitRef="usd">133000000</us-gaap:ProceedsFromShortTermDebt>
    <us-gaap:ProceedsFromShortTermDebt
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzEtMy0xLTEtNDcxOTA_ff5bfa85-4f86-4972-9166-03c9831df8ae"
      unitRef="usd">112000000</us-gaap:ProceedsFromShortTermDebt>
    <us-gaap:ProceedsFromShortTermDebt
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzEtNS0xLTEtNDcxOTA_e18aa380-c5c5-470b-8af9-f40bf2a408c4"
      unitRef="usd">75000000</us-gaap:ProceedsFromShortTermDebt>
    <us-gaap:RepaymentsOfShortTermDebt
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzItMS0xLTEtNDcxOTA_d6320bef-4a30-44d9-b9d9-da01fb1558de"
      unitRef="usd">101000000</us-gaap:RepaymentsOfShortTermDebt>
    <us-gaap:RepaymentsOfShortTermDebt
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzItMy0xLTEtNDcxOTA_a11539f0-3291-44a7-a8bf-f4f75fa389a3"
      unitRef="usd">76000000</us-gaap:RepaymentsOfShortTermDebt>
    <us-gaap:RepaymentsOfShortTermDebt
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzItNS0xLTEtNDcxOTA_76db7240-e907-4a4a-a40e-b00d0cc2df06"
      unitRef="usd">123000000</us-gaap:RepaymentsOfShortTermDebt>
    <ueic:ProceedsFromStockOptionsExercisedIncludingValueOfSharesWithheldInLieuOfCash
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzMtMS0xLTEtNDcxOTA_ecd01d6a-962f-451c-83b5-944c2ae1f97d"
      unitRef="usd">1536000</ueic:ProceedsFromStockOptionsExercisedIncludingValueOfSharesWithheldInLieuOfCash>
    <ueic:ProceedsFromStockOptionsExercisedIncludingValueOfSharesWithheldInLieuOfCash
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzMtMy0xLTEtNDcxOTA_79b10e69-90eb-4f35-862e-9cb962fb00f1"
      unitRef="usd">1638000</ueic:ProceedsFromStockOptionsExercisedIncludingValueOfSharesWithheldInLieuOfCash>
    <ueic:ProceedsFromStockOptionsExercisedIncludingValueOfSharesWithheldInLieuOfCash
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzMtNS0xLTEtNDcxOTA_2b0baec6-6a19-4912-8200-a8c69723f0a3"
      unitRef="usd">2805000</ueic:ProceedsFromStockOptionsExercisedIncludingValueOfSharesWithheldInLieuOfCash>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzQtMS0xLTEtNDcxOTA_3af6b8b4-89e1-406f-a662-95d669b2387e"
      unitRef="usd">13035000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzQtMy0xLTEtNDcxOTA_44c3315d-c8e6-4fd5-966b-10b9bc4247c6"
      unitRef="usd">59664000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzQtNS0xLTEtNDcxOTA_4958367c-6f42-429d-a36c-15655758f1a4"
      unitRef="usd">17678000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzUtMS0xLTEtNDcxOTA_b4be90be-1351-4205-94d7-6444b22b52d8"
      unitRef="usd">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzUtMy0xLTEtNDcxOTA_f1b503a1-942d-4ec7-b5fe-4f4b15740e69"
      unitRef="usd">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzUtNS0xLTEtNDcxOTA_ca18e572-dbd6-4c02-9736-d47e954e7763"
      unitRef="usd">3091000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzYtMS0xLTEtNDcxOTA_3d596fb7-86f4-4482-9416-cbb0fc0d0574"
      unitRef="usd">20501000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzYtMy0xLTEtNDcxOTA_6a2307d1-4c5f-4931-b8c1-0daf08ec2884"
      unitRef="usd">-22026000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzYtNS0xLTEtNDcxOTA_270353c1-3fc6-45a8-a94b-2ad5bd6b7b9d"
      unitRef="usd">-65964000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzctMS0xLTEtNDcxOTA_95caa8b3-e689-4a73-b677-10d53f5a01fa"
      unitRef="usd">-4292000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzctMy0xLTEtNDcxOTA_e9d4516f-db37-4073-9247-b0069fff0df7"
      unitRef="usd">2444000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzctNS0xLTEtNDcxOTA_bf25b4af-281a-404c-a99d-b71a9bec2b82"
      unitRef="usd">-843000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzgtMS0xLTEtNDcxOTA_5f5a4d2f-6ed3-4677-857f-7b4864c4680e"
      unitRef="usd">5927000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzgtMy0xLTEtNDcxOTA_f4b22bd1-5549-4706-8cd0-13ec436252e7"
      unitRef="usd">3660000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzgtNS0xLTEtNDcxOTA_75ca2289-fe73-4617-8fa9-5a269f640ba0"
      unitRef="usd">-17149000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzktMS0xLTEtNDcxOTA_38e2e27c-54dd-4e2e-a9a5-988650d39ce3"
      unitRef="usd">60813000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzktMy0xLTEtNDcxOTA_386cab93-6508-433f-b61b-32d9feb2892a"
      unitRef="usd">57153000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i2b3debd26b59457c8436e5e4076ec943_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfMzktNS0xLTEtNDcxOTA_50a466bd-4442-4afa-ab66-69efdd07d012"
      unitRef="usd">74302000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNDAtMS0xLTEtNDcxOTA_5ee0bbb5-a941-4680-9d24-547250d84c70"
      unitRef="usd">66740000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNDAtMy0xLTEtNDcxOTA_3d7aac13-d32f-4e36-bdd8-6870fff12625"
      unitRef="usd">60813000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNDAtNS0xLTEtNDcxOTA_879e99d4-d91b-415f-b229-b1de7a7fe1fe"
      unitRef="usd">57153000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaid
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNDMtMS0xLTEtNDcxOTA_86c9093e-0580-443d-9e9d-9f7f9955e769"
      unitRef="usd">10922000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNDMtMy0xLTEtNDcxOTA_31dc9648-66b7-4e13-8a12-8cc7e0e1ebe8"
      unitRef="usd">10093000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNDMtNS0xLTEtNDcxOTA_a9fef6de-ce74-4610-a64f-467184f7ce40"
      unitRef="usd">12712000</us-gaap:IncomeTaxesPaid>
    <us-gaap:InterestPaidNet
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNDQtMS0xLTEtNDcxOTA_26dcafbb-5cc3-4814-b13d-905ba66fe9b6"
      unitRef="usd">2214000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNDQtMy0xLTEtNDcxOTA_2963b3db-39c4-4b89-b650-1b69ed8e1c5e"
      unitRef="usd">620000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83My9mcmFnOjJlMzYyM2I4OWJjODRkZWZiZGRlMjM1ZTVhNDllMDRhL3RhYmxlOjE3ZjYwZjRiMDc2MTQzNWM4YjMyNzhiOTY2YmI5YjYyL3RhYmxlcmFuZ2U6MTdmNjBmNGIwNzYxNDM1YzhiMzI3OGI5NjZiYjliNjJfNDQtNS0xLTEtNDcxOTA_3cc68b83-0906-46c1-a223-4d71a87b91fb"
      unitRef="usd">1610000</us-gaap:InterestPaidNet>
    <us-gaap:NatureOfOperations
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83OS9mcmFnOjRkMmIxODQ0NDYzODQxMTA5MTg2Y2Y0YzE1MDc1Mjk4L3RleHRyZWdpb246NGQyYjE4NDQ0NjM4NDExMDkxODZjZjRjMTUwNzUyOThfMTk2Mw_0165102c-d9a9-4851-a52b-a3b60988f0d5">Description of Business&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Universal Electronics Inc. ("UEI"), based in Scottsdale, Arizona, designs, develops, manufactures, ships and supports control and sensor technology solutions and a broad line of universal control systems, audio-video ("AV") accessories, and intelligent wireless security and smart home products that are used by the world's leading brands in the video services, consumer electronics, security, home automation, climate control, and home appliance markets. In addition, over the past 37 years, we have developed a broad portfolio of patented technologies and cloud-based connectivity and control software solutions that we license to our customers, including many leading Fortune 500 companies.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Distribution methods for our control solutions vary depending on the sales channel. We license our connectivity and control solution technologies across a variety of channels, primarily to original equipment manufacturers ("OEMs"). We distribute remote control devices, integrated circuits, sensors, connected thermostats and AV accessories directly to video and security service providers and OEMs, both domestically and internationally. We also distribute home security sensors and connected thermostats to pro-security installers and hospitality system integrators in the United States and Europe through a network of national and regional distributors and dealers. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Additionally, we sell our wireless control devices and AV accessories under the One For All&#xae; and private label brand names to retailers through our international subsidiaries and direct to retailers in key markets, such as in the United States, United Kingdom, Germany, France, Spain, and Italy. We utilize third-party distributors for the retail channel in countries where we do not have subsidiaries.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As used herein, the terms "we", "us" and "our" refer to Universal Electronics Inc. and its subsidiaries unless the context indicates to the contrary.&lt;/span&gt;&lt;/div&gt;</us-gaap:NatureOfOperations>
    <ueic:HistoryOfCompany
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV83OS9mcmFnOjRkMmIxODQ0NDYzODQxMTA5MTg2Y2Y0YzE1MDc1Mjk4L3RleHRyZWdpb246NGQyYjE4NDQ0NjM4NDExMDkxODZjZjRjMTUwNzUyOThfMTY0OTI2NzQ0MzYzMQ_732e8926-57db-4a10-9d85-bb17de11ac54">P37Y</ueic:HistoryOfCompany>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQyNjI_fbaa9742-e2f0-48cf-90a0-1f2cf27664af">Summary of Significant Accounting Policies&lt;div style="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;Principles of Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 include our accounts and those of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated in the consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Reportable Segment&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;An operating segment, in part, is a component of an enterprise whose operating results are regularly reviewed by the chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance. Operating segments may be aggregated only to a limited extent. Our chief operating decision maker, the Chief Executive Officer, reviews financial information presented on a consolidated basis, accompanied by disaggregated information about revenues for purposes of making operating decisions and assessing financial performance. Accordingly, we only have a single operating and reportable segment.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Estimates and Assumptions&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America ("U.S. GAAP") requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting period. On an on-going basis, we evaluate our estimates and assumptions, including those related to revenue recognition, allowance for credit losses, inventory valuation, impairment of long-lived assets, intangible assets and goodwill, business combinations, income taxes and related valuation allowances, stock-based compensation expense and performance-based common stock warrants. Actual results may differ from these assumptions and estimates, and they may be adjusted as more information becomes available. Any adjustment may be material.&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized when control of a good or service is transferred to a customer. Control is considered to be transferred when the customer has the ability to direct the use of and obtain substantially all of the remaining benefits of that good or service. Revenues are generated from manufacturing, shipping and supporting control and sensor technology solutions and a broad line of pre-programmed and universal control products, AV accessories, and intelligent wireless security and smart home products that are used in the video services, consumer electronics, security, home automation, climate control, and home appliance market, which are sold through multiple channels, and licensing intellectual property that is embedded in these products or licensed to others for use in their products. We also generate revenues from a cloud-based software solution enabling software updates, digital rights management provisioning and remote technical support to consumer electronics customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;&#160;&#160;&#160;&#160;Revenue&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; - Product revenue is generated through manufacturing, shipping and supporting control and sensor technology solutions and a broad line of pre-programmed and universal control products, AV accessories, and intelligent wireless security and smart home products that are used in the video services, consumer electronics, security, home automation, climate control, and home appliance market, which are sold through multiple channels. Our performance obligations are satisfied over time or at a point in time, depending on the nature of the product. Our contracts have an anticipated duration of less than a year and consideration may be variable based on indeterminate volumes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized over time when our performance creates an asset with no alternative use to us (custom products) and we have an enforceable right to payment for performance completed to date, including a reasonable margin, through a contractual commitment from the customer. Custom products are those products for which we are unable to redirect the asset to another customer in the foreseeable future without significant rework. The method for measuring progress towards satisfying a performance obligation for a custom product is based on the costs incurred to date (cost-to-cost method). We believe that the costs associated with production are most closely aligned with the revenue associated with those products.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 revenue at a point in time if the criteria for recognizing revenue over time are not met, the title of the goods has transferred and we have a present right to payment.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A provision is recorded for estimated sales returns and allowances and is deducted from gross sales to arrive at net sales in the period the related revenue is recorded. These estimates are based on historical sales returns and allowances, analysis of credit memo data and other known factors. Actual returns and claims in any future period are inherently uncertain and thus may differ from our estimates. If actual or expected future returns and claims are significantly greater or lower than the reserves that we have established, we will record a reduction or increase to net sales in the period in which we make such a determination.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We license our symbolic intellectual property which includes our patented technologies and database of control codes. Royalty revenue is recognized for these licensing arrangements on an over time basis. We record license revenue for per-unit based licenses when our customers manufacture or ship a product incorporating our intellectual property and we have a present right to payment. We record per-unit-based licenses with minimum guarantees ratably over the license period to which the minimum guarantee relates and any per-unit sales in excess of the minimum guarantee in the period in which the sale occurs. We record licenses with fixed consideration ratably over the license period. Tiered royalties are recorded on a straight-line basis according to the forecasted per-unit fees taking into account the pricing tiers.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 service revenues related to our cloud-based software solution on an over-time basis, as our customers simultaneously receive and consume the benefits provided by our performance. Revenues are recognized over the period during which the performance obligations are satisfied, and control of the service is transferred to the customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;&#160;&#160;&#160;&#160;Contract assets&lt;/span&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 represent the value of revenue recognized over time for which we have not yet invoiced the customer. Generally, we invoice the customer within 90 days of revenue recognition.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;&#160;&#160;&#160;&#160;Contract liabilities&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; - A contract liability is recorded when consideration is received from a customer prior to fully satisfying a performance obligation in a contract. Our contract liabilities primarily consist of cash received in advance of providing our cloud-based software services. These contract liabilities will be recognized as revenues when control of the related product or service is transferred to the customer. See Note 12 for further information concerning contract liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="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;&#160;&#160;&#160;&#160;Other sales-related matters - &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Trade receivables are recorded at the invoiced amount and do not bear interest. Payment terms are typically on open credit terms consistent with industry practice and do not have significant financing components. We accrue for discounts and rebates based on historical experience and our expectations regarding future sales to our customers. Accruals for discounts and rebates are recorded as a reduction to sales in the same period as the related revenue. Such discounts were $12.2 million and $14.4 million at December&#160;31, 2022 and 2021, respectively. Changes in such accruals may be required if future rebates and incentives differ from our estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We present all non-income government-assessed taxes (sales, use and value added taxes) collected from our customers and remitted to governmental agencies on a net basis (excluded from revenue) in our financial statements. The government-assessed taxes are recorded in our consolidated balance sheets until they are remitted to the government agency.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 for income taxes utilizing the asset and liability approach of accounting for income taxes. Under this approach, deferred taxes represent the future tax consequences expected to occur when the reported amounts of assets and liabilities are recovered or paid. Deferred taxes are presented net as non-current by jurisdiction. The provision for income taxes generally represents income taxes paid or payable for the current year plus the change in deferred taxes during the year. Deferred taxes result from the differences between the financial and tax bases of our assets and liabilities and are adjusted for changes in tax rates and tax laws when changes are enacted. Valuation allowances are recorded to reduce deferred tax assets when a judgment is made that is considered more likely than not that a tax benefit will not be realized. A decision to record a valuation allowance results in an increase in income tax expense or a decrease in income tax benefit. If the valuation allowance is released in a future period, income tax expense will be reduced accordingly.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The calculation of tax liabilities involves dealing with uncertainties in the application of complex global tax regulations. The impact of an uncertain income tax position is recognized at the largest amount that is more likely than not to be sustained upon audit by the relevant taxing authority. An uncertain income tax position will not be recognized if it has less than a 50% likelihood of being sustained. If the estimate of tax liabilities proves to be less than the ultimate assessment, a further charge to expense would result.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In assessing the realizability of deferred tax assets, management considers whether it is more likely than not, on a jurisdiction-by-jurisdiction basis, that some portion or all of the deferred tax assets will be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible. We continue to assess the need for a valuation allowance on the deferred tax asset by evaluating both positive and negative evidence that may exist. Any adjustment to the net deferred tax asset valuation allowance would be recorded in the income statement for the period that the adjustment is determined to be required.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 (the "Tax Act") subjects a U.S. shareholder to tax on Global Intangible Low-Taxed Income ("GILTI") earned by certain foreign subsidiaries. We have elected to account for GILTI in the year the tax is incurred as a period expense. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 10 for further information concerning income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Research and Development&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development costs are expensed as incurred and consist primarily of salaries, employee benefits, supplies and materials.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Advertising&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Advertising costs are expensed as incurred. Advertising expense totaled $0.5 million, $0.8 million and $0.9 million for the years ended December&#160;31, 2022, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Shipping and Handling Fees and Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We include shipping and handling fees billed to customers in net sales. Shipping and handling costs associated with in-bound freight or amounts billed to customers are recorded in cost of sales. Other shipping and handling costs are included in selling, general and administrative expenses. Shipping and handling fees and costs totaled $10.8 million, $11.8 million and $9.9 million for the years ended December&#160;31, 2022, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 the grant date fair value of stock-based compensation awards as expense in proportion to vesting during the requisite service period, which ranges from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMTEzNTk_4ce5d579-b613-4dd4-9592-3884bf64916a"&gt;one&lt;/span&gt; to three years. Forfeitures of stock-based awards are accounted for as they occur. Upon the exercise of stock options or the vesting of restricted stock awards, newly issued shares of our common stock are issued.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine the fair value of restricted stock awards utilizing the average of the high and low trading prices of our common shares on the date they were granted.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 stock options granted to employees and directors is determined utilizing the Black-Scholes option pricing model. The assumptions utilized in the Black-Scholes model include the risk-free interest rate, expected volatility, expected life in years and dividend yield. The risk-free interest rate over the expected term is equal to the prevailing U.S. Treasury note rate over the same period. Expected volatility is determined utilizing historical volatility over a period of time equal to the expected life of the stock option. Expected life is computed utilizing historical exercise patterns and post-vesting behavior. The dividend yield is assumed to be zero since we have not historically declared dividends and do not have any plans to declare dividends in the future. See Note 15 for further information regarding stock-based compensation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Performance-Based Common Stock Warrants &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The measurement date for performance-based common stock warrants is the date on which the warrants vest. We recognize the fair value of performance-based common stock warrants as a reduction to net sales ratably as the warrants vest based on the projected number of warrants that will vest, the proportion of the performance criteria achieved by the customer within the period relative to the total performance required (aggregate purchase levels) for the warrants to vest and the fair value of the related unvested warrants. If we do not have a reliable forecast of future purchases to be made by the customer by which to estimate the number of warrants that will vest, then the maximum number of potential warrants is assumed until such time that a reliable forecast of future purchases is available. To the extent that our projections change in the future as to the number of warrants that will vest, a cumulative catch-up adjustment will be recorded in the period in which our estimates change. See Note 16 for further information regarding performance-based common stock warrants.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Foreign Currency Translation and Foreign Currency Transactions&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use the U.S. Dollar as our functional currency for financial reporting purposes. The functional currency for most of our foreign subsidiaries is their local currency. The translation of foreign currencies into U.S. Dollars is performed for balance sheet accounts using exchange rates in effect at the balance sheet dates and for revenue and expense accounts using the average exchange rate during each period. The gains and losses resulting from the translation are included in the foreign currency translation adjustment account, a component of accumulated other comprehensive income in stockholders' equity, and are excluded from net income. The portions of intercompany accounts receivable and accounts payable that are intended for settlement are translated at exchange rates in effect at the balance sheet date. Our intercompany foreign investments and long-term debt that are not intended for settlement are translated using historical exchange rates.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Transaction gains and losses generated by the effect of changes in foreign currency exchange rates on recorded assets and liabilities denominated in a currency different than the functional currency of the applicable entity are recorded in other income (expense), net. See Note 17 for further information concerning transaction gains and losses.&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Earnings Per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 is computed by dividing net income available to common stockholders by the weighted average number of common shares outstanding during the period. Diluted earnings per share is computed by dividing net income by the weighted average number of common shares and dilutive potential common shares, including the dilutive effect of stock options, restricted stock and common stock warrants, outstanding during the period. Dilutive potential common shares for all periods presented are computed utilizing the treasury stock method; however, dilutive potential common shares are excluded where their inclusion would be anti-dilutive.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our financial instruments consist primarily of cash and cash equivalents, term deposit, accounts receivable, accounts payable, accrued liabilities, debt and derivatives. The carrying value of our financial instruments, excluding derivatives, approximates fair value as a result of their short maturities. Our derivatives are carried at fair value. See Notes 3, 4, 9, 11, 12 and 19 for further information concerning our financial instruments.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Cash, Cash Equivalents and Term Deposit&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash and cash equivalents include cash accounts and all investments purchased with initial maturities of three months or less. Our term deposit had an initial maturity of one year, but was redeemed prior to December&#160;31, 2022. Domestically, we generally maintain balances in excess of federally insured limits. We attempt to mitigate our exposure to liquidity, credit and other relevant risks by placing our cash, cash equivalents and term deposit with financial institutions we believe are high quality. These financial institutions are located in many different geographic regions. As part of our cash and risk management processes, we perform periodic evaluations of the relative credit standing of our financial institutions. We have not sustained credit losses from instruments held at financial institutions. See Note 3 for further information concerning cash, cash equivalents and term deposit.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 estimated losses on our trade receivables, resulting from the inability of our customers to make payments for products sold or services rendered. The allowance for credit losses is based on a variety of factors, including credit reviews, historical experience, length of time receivables are past due, current economic trends and changes in customer payment behavior. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We also record specific provisions for individual accounts when we become aware of a customer's inability to meet its financial obligations to us, such as in the case of bankruptcy filings or deterioration in the customer's operating results or financial position. If circumstances related to a customer change, our estimates of the recoverability of the receivables would be further adjusted. See Note 4 for further information concerning our allowance for credit losses.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Inventories &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consist of remote controls, wireless sensors and AV accessories, as well as the related component parts and raw materials. Inventoriable costs include materials, labor, freight-in and manufacturing overhead related to the purchase and production of inventories. We value our inventories at the lower of cost or net realizable value. Cost is determined using the first-in, first-out method. We attempt to carry inventories in amounts necessary to satisfy our customer requirements on a timely basis. See Note 5 for further information concerning our inventories and suppliers.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Product innovations and technological advances may shorten a given product's life cycle. We continually monitor our inventories to identify any excess or obsolete items on hand. We write down our inventories for estimated excess and obsolescence in an amount equal to the difference between the cost of the inventories and estimated net realizable value. These estimates are based upon management's judgment about future demand and market conditions.&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Property, Plant, and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant, and equipment are recorded at cost. The cost of property, plant, and equipment includes the purchase price of the asset and all expenditures necessary to prepare the asset for its intended use. We capitalize additions and improvements and expense maintenance and repairs as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We capitalize certain internal and external costs incurred to acquire or create internal use software, principally related to software coding, designing system interfaces and installation and testing of the software.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For financial reporting purposes, depreciation is calculated using the straight-line method over the estimated useful lives of the respective assets. When assets are retired or otherwise disposed of, the cost and accumulated depreciation are removed from the appropriate accounts and any gain or loss is included as a component of depreciation expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimated useful lives are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:60.979%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.821%"/&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;Buildings&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25-33 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;Tooling and equipment&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2-7 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;Computer equipment&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&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 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;Software&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3-7 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;Furniture and fixtures&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5-8 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;Leasehold and building improvements&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lesser&#160;of&#160;lease&#160;term&#160;or&#160;useful&#160;life&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:100%"&gt;(approximately 2 to 10 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 6 for further information concerning our property, plant, and equipment.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine if an arrangement is a lease at inception and determine the classification of the lease, as either operating or finance, at commencement. Operating leases are included in operating lease right-of-use ("ROU") assets, other accrued liabilities and long-term operating lease obligations on our consolidated balance sheets. We presently do not have any finance leases. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the commencement date, including the lease term, in determining the present value of lease payments. Operating lease ROU assets also factor in any lease payments made, initial direct costs and lease incentives received. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. Some of our leases include options to extend with a range of three years to five years with two extensions at the then current market rate. Lease expense for lease payments is recognized on a straight-line basis over the lease term.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Leases with an initial term of twelve months or less, or on a month-to-month basis, are not recorded on the balance sheet and are recognized on a straight-line basis over the lease term. If applicable, we combine lease and non-lease components, which primarily relate to ancillary expenses associated with real estate leases such as common area maintenance charges and management fees.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 8 for further information concerning our leases.&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 the excess purchase price of net tangible and intangible assets acquired over their estimated fair value as goodwill. We evaluate the carrying value of goodwill on December&#160;31 of each year and between annual evaluations if events occur or circumstances change that may reduce the fair value of the reporting unit below its carrying amount. Such circumstances may include, but are not limited to: (1)&#160;a significant adverse change in legal factors or in business climate, (2)&#160;a decline in macroeconomic conditions, (3) a significant decline in our financial performance or (4) a significant decline in the price of our common stock for a sustained period of time. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 impairment test using a qualitative assessment weighing the relative impact of factors that are specific to our single reporting unit as well as industry and macroeconomic factors. Based on the qualitative assessment performed, considering the aggregation of the relevant factors, we concluded that it is not more likely than not that the fair value of our single reporting unit is less than the carrying value. Therefore, performing a quantitative impairment test was unnecessary.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 7 for further information concerning goodwill.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Long-Lived and Intangible Assets Impairment&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets consist of capitalized software development costs, customer relationships, developed and core technologies, distribution rights, patents and trademarks and trade names. Capitalized amounts related to patents represent external legal costs for the application, maintenance and extension of the useful life of patents. Intangible assets are amortized using the straight-line method over their estimated period of benefit, ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMjUyNDQ_639395ac-2e19-45be-8f4a-9543362edecc"&gt;two&lt;/span&gt; to 15 years.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We assess the impairment of long-lived assets and intangible assets whenever events or changes in circumstances indicate that the carrying value may not be recoverable. Factors considered important which may trigger an impairment review include the following: (1)&#160;significant underperformance relative to historical or projected future operating results; (2)&#160;significant changes in the manner or use of the assets or strategy for the overall business; (3)&#160;significant negative industry or economic trends; and (4)&#160;a significant decline in our stock price for a sustained period.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We conduct an impairment review when we determine that the carrying value of a long-lived or intangible asset may not be recoverable based upon the existence of one or more of the above indicators of impairment. The asset is impaired if its carrying value exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset. In assessing recoverability, we make assumptions regarding estimated future cash flows and other factors.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;An impairment loss is the amount by which the carrying value of an asset exceeds its fair value. We estimate fair value utilizing the projected discounted cash flow method and a discount rate determined by our management to be commensurate with the risk inherent in our current business model. When calculating fair value, we make assumptions regarding estimated future cash flows, discount rates and other factors.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 6 for further information concerning long-lived assets. See Note 7 for further information concerning intangible assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We allocate the purchase price of acquired businesses to the tangible and intangible assets and the liabilities assumed based on their estimated fair values on the acquisition date. The excess of the purchase price over the fair value of net assets acquired is recorded as goodwill. We engage independent third-party appraisal firms to assist us in determining the fair values of assets acquired and liabilities assumed. Such valuations require management to make significant fair value estimates and assumptions, especially with respect to intangible assets and contingent consideration. Management estimates the fair value of certain intangible assets and contingent consideration by utilizing the following (but not limited to):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-22.5pt"&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:19pt"&gt;future cash flow from customer contracts, customer lists, distribution agreements, acquired developed technologies, trademarks, trade names and patents;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-22.5pt"&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:19pt"&gt;expected costs to complete development of in-process technology into commercially viable products and cash flows from the products once they are completed;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-22.5pt"&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:19pt"&gt;brand awareness and market position, as well as assumptions regarding the period of time the brand will continue to be used in our product portfolio; and &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-22.5pt"&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:19pt"&gt;discount rates utilized in discounted cash flow models.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Results of operations and cash flows of acquired businesses are included in our operating results from the date of acquisition.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In those circumstances where an acquisition involves a contingent consideration arrangement, we recognize a liability equal to the fair value of the contingent payments we expect to make as of the acquisition date. We re-measure this liability at each reporting period and record changes in the fair value within operating expenses. Increases or decreases in the fair value of the contingent consideration liability can result from changes in discount periods and rates, as well as changes in the timing and amount of earnings estimates or in the timing or likelihood of achieving earnings-based milestones. Contingent consideration is recorded in other accrued liabilities and long-term contingent consideration in our consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 21 for further information concerning business combinations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Derivatives&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our foreign currency exposures are primarily concentrated in the Brazilian Real, British Pound, Chinese Yuan Renminbi, Euro, Hong Kong Dollar, Indian Rupee, Japanese Yen, Korean Won and Mexican Peso. We periodically enter into foreign currency exchange contracts with terms normally lasting less than nine months, to protect against the adverse effects that exchange-rate fluctuations may have on our foreign currency-denominated receivables, payables, cash flows and reported income. We do not enter into financial instruments for speculation or trading purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The derivatives we enter into have not qualified for hedge accounting. The gains and losses on both the derivatives and the foreign currency-denominated balances are recorded as foreign exchange transaction gains or losses and are classified in other income (expense), net. Derivatives are recorded on the balance sheet at fair value. The estimated fair value of derivative financial instruments represents the amount required to enter into similar offsetting contracts with similar remaining maturities based on quoted market prices. See Note 19 for further information concerning derivatives.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;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;Fair-Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 fair value using the framework established by the FASB in ASC Topic 820 for fair value measurements and disclosures. This framework requires fair value to be determined based on the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The valuation techniques are based upon observable and unobservable inputs. Observable or market inputs reflect market data obtained from independent sources. Unobservable inputs require management to make certain assumptions and judgments based on the best information available. Observable inputs are the preferred data source. These two types of inputs result in the following fair value hierarchy:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:89.982%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;1:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Quoted prices (unadjusted) for identical instruments in active markets.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 2:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Quoted prices for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-based valuation techniques for which all significant assumptions are observable in the market or can be corroborated by observable market data for substantially the full term of the assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 3:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prices or valuations that require management inputs that are both significant to the fair value measurement and unobservable.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Pronouncements &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 2021, the FASB issued ASU 2021-08, "Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers". This guidance requires an entity to recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Topic 606, "Revenue from Contracts with Customers". At the acquisition date, the acquirer applies the revenue recognition model as if it had originated the acquired contracts. Our adoption of this guidance on January 1, 2022 did not have a material impact on our consolidated statement of financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="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%;text-decoration:underline"&gt;Other Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounting Updates Not Yet Effective&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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, "Facilitation of the Effects of Reference Rate Reform on Financial Reporting", in January 2021, the FASB issued ASU 2021-01, "Reference Rate Reform", and in December 2022, the FASB issued ASU 2022-06, "Deferral of the Sunset Date of Topic 848". This guidance is intended to provide temporary optional expedients and exceptions to GAAP guidance on contract modifications and hedge accounting to ease the financial reporting burden related to the expected market transition from the London Interbank Offered Rate ("LIBOR") and other interbank offered rates to alternative reference rates. The amendments in these ASUs are elective and are effective upon issuance for all entities through December 31, 2024. These amendments are not expected to have a material impact on our consolidated statement of financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQyNTc_02efc4e9-d9bf-4aec-abf8-2752dc622901">&lt;div style="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;Principles of Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 include our accounts and those of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated in the consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQzNjE_1390cdf2-5d7c-4bd5-88d6-c87eb67c191d">&lt;div style="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;Reportable Segment&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;An operating segment, in part, is a component of an enterprise whose operating results are regularly reviewed by the chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance. Operating segments may be aggregated only to a limited extent. Our chief operating decision maker, the Chief Executive Officer, reviews financial information presented on a consolidated basis, accompanied by disaggregated information about revenues for purposes of making operating decisions and assessing financial performance. Accordingly, we only have a single operating and reportable segment.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQyNzU_0075402b-0b2d-4a2f-a937-40fdda1b7f7e">&lt;div style="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;Estimates and Assumptions&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America ("U.S. GAAP") requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting period. On an on-going basis, we evaluate our estimates and assumptions, including those related to revenue recognition, allowance for credit losses, inventory valuation, impairment of long-lived assets, intangible assets and goodwill, business combinations, income taxes and related valuation allowances, stock-based compensation expense and performance-based common stock warrants. Actual results may differ from these assumptions and estimates, and they may be adjusted as more information becomes available. Any adjustment may be material.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQzOTg_2c8119eb-44a3-4043-99b9-33abb32b2608">&lt;div style="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;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized when control of a good or service is transferred to a customer. Control is considered to be transferred when the customer has the ability to direct the use of and obtain substantially all of the remaining benefits of that good or service. Revenues are generated from manufacturing, shipping and supporting control and sensor technology solutions and a broad line of pre-programmed and universal control products, AV accessories, and intelligent wireless security and smart home products that are used in the video services, consumer electronics, security, home automation, climate control, and home appliance market, which are sold through multiple channels, and licensing intellectual property that is embedded in these products or licensed to others for use in their products. We also generate revenues from a cloud-based software solution enabling software updates, digital rights management provisioning and remote technical support to consumer electronics customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;&#160;&#160;&#160;&#160;Revenue&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; - Product revenue is generated through manufacturing, shipping and supporting control and sensor technology solutions and a broad line of pre-programmed and universal control products, AV accessories, and intelligent wireless security and smart home products that are used in the video services, consumer electronics, security, home automation, climate control, and home appliance market, which are sold through multiple channels. Our performance obligations are satisfied over time or at a point in time, depending on the nature of the product. Our contracts have an anticipated duration of less than a year and consideration may be variable based on indeterminate volumes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized over time when our performance creates an asset with no alternative use to us (custom products) and we have an enforceable right to payment for performance completed to date, including a reasonable margin, through a contractual commitment from the customer. Custom products are those products for which we are unable to redirect the asset to another customer in the foreseeable future without significant rework. The method for measuring progress towards satisfying a performance obligation for a custom product is based on the costs incurred to date (cost-to-cost method). We believe that the costs associated with production are most closely aligned with the revenue associated with those products.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 revenue at a point in time if the criteria for recognizing revenue over time are not met, the title of the goods has transferred and we have a present right to payment.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A provision is recorded for estimated sales returns and allowances and is deducted from gross sales to arrive at net sales in the period the related revenue is recorded. These estimates are based on historical sales returns and allowances, analysis of credit memo data and other known factors. Actual returns and claims in any future period are inherently uncertain and thus may differ from our estimates. If actual or expected future returns and claims are significantly greater or lower than the reserves that we have established, we will record a reduction or increase to net sales in the period in which we make such a determination.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We license our symbolic intellectual property which includes our patented technologies and database of control codes. Royalty revenue is recognized for these licensing arrangements on an over time basis. We record license revenue for per-unit based licenses when our customers manufacture or ship a product incorporating our intellectual property and we have a present right to payment. We record per-unit-based licenses with minimum guarantees ratably over the license period to which the minimum guarantee relates and any per-unit sales in excess of the minimum guarantee in the period in which the sale occurs. We record licenses with fixed consideration ratably over the license period. Tiered royalties are recorded on a straight-line basis according to the forecasted per-unit fees taking into account the pricing tiers.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 service revenues related to our cloud-based software solution on an over-time basis, as our customers simultaneously receive and consume the benefits provided by our performance. Revenues are recognized over the period during which the performance obligations are satisfied, and control of the service is transferred to the customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;&#160;&#160;&#160;&#160;Contract assets&lt;/span&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 represent the value of revenue recognized over time for which we have not yet invoiced the customer. Generally, we invoice the customer within 90 days of revenue recognition.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;&#160;&#160;&#160;&#160;Contract liabilities&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; - A contract liability is recorded when consideration is received from a customer prior to fully satisfying a performance obligation in a contract. Our contract liabilities primarily consist of cash received in advance of providing our cloud-based software services. These contract liabilities will be recognized as revenues when control of the related product or service is transferred to the customer. See Note 12 for further information concerning contract liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="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;&#160;&#160;&#160;&#160;Other sales-related matters - &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Trade receivables are recorded at the invoiced amount and do not bear interest. Payment terms are typically on open credit terms consistent with industry practice and do not have significant financing components. We accrue for discounts and rebates based on historical experience and our expectations regarding future sales to our customers. Accruals for discounts and rebates are recorded as a reduction to sales in the same period as the related revenue. Such discounts were $12.2 million and $14.4 million at December&#160;31, 2022 and 2021, respectively. Changes in such accruals may be required if future rebates and incentives differ from our estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We present all non-income government-assessed taxes (sales, use and value added taxes) collected from our customers and remitted to governmental agencies on a net basis (excluded from revenue) in our financial statements. The government-assessed taxes are recorded in our consolidated balance sheets until they are remitted to the government agency.&lt;/span&gt;&lt;/div&gt;Shipping and Handling Fees and CostsWe include shipping and handling fees billed to customers in net sales. Shipping and handling costs associated with in-bound freight or amounts billed to customers are recorded in cost of sales. Other shipping and handling costs are included in selling, general and administrative expenses.</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <ueic:ContractWithCustomerLiabilityDiscountsAndRebatesAccrued
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfNjkzMg_14950799-c4ab-4584-9710-cc7876afe74b"
      unitRef="usd">12200000</ueic:ContractWithCustomerLiabilityDiscountsAndRebatesAccrued>
    <ueic:ContractWithCustomerLiabilityDiscountsAndRebatesAccrued
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfNjkzOQ_62b74fbd-7300-447f-8a7a-59b030f1205b"
      unitRef="usd">14400000</ueic:ContractWithCustomerLiabilityDiscountsAndRebatesAccrued>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQyNDc_4eb0c927-6016-4e9b-ac7a-89308e7cceec">&lt;div style="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;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 for income taxes utilizing the asset and liability approach of accounting for income taxes. Under this approach, deferred taxes represent the future tax consequences expected to occur when the reported amounts of assets and liabilities are recovered or paid. Deferred taxes are presented net as non-current by jurisdiction. The provision for income taxes generally represents income taxes paid or payable for the current year plus the change in deferred taxes during the year. Deferred taxes result from the differences between the financial and tax bases of our assets and liabilities and are adjusted for changes in tax rates and tax laws when changes are enacted. Valuation allowances are recorded to reduce deferred tax assets when a judgment is made that is considered more likely than not that a tax benefit will not be realized. A decision to record a valuation allowance results in an increase in income tax expense or a decrease in income tax benefit. If the valuation allowance is released in a future period, income tax expense will be reduced accordingly.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The calculation of tax liabilities involves dealing with uncertainties in the application of complex global tax regulations. The impact of an uncertain income tax position is recognized at the largest amount that is more likely than not to be sustained upon audit by the relevant taxing authority. An uncertain income tax position will not be recognized if it has less than a 50% likelihood of being sustained. If the estimate of tax liabilities proves to be less than the ultimate assessment, a further charge to expense would result.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In assessing the realizability of deferred tax assets, management considers whether it is more likely than not, on a jurisdiction-by-jurisdiction basis, that some portion or all of the deferred tax assets will be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible. We continue to assess the need for a valuation allowance on the deferred tax asset by evaluating both positive and negative evidence that may exist. Any adjustment to the net deferred tax asset valuation allowance would be recorded in the income statement for the period that the adjustment is determined to be required.&lt;/span&gt;&lt;/div&gt;The Tax Cuts and Jobs Act (the "Tax Act") subjects a U.S. shareholder to tax on Global Intangible Low-Taxed Income ("GILTI") earned by certain foreign subsidiaries. We have elected to account for GILTI in the year the tax is incurred as a period expense.</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQzMjM_cda54976-a154-4635-9da4-6068ced750c2">&lt;div style="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;Research and Development&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development costs are expensed as incurred and consist primarily of salaries, employee benefits, supplies and materials.&lt;/span&gt;&lt;/div&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQzOTk_89588274-f80b-4e5b-a8e5-1fd709984666">AdvertisingAdvertising costs are expensed as incurred.</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMTA2NjY_ce73dfe5-4ad1-4a9e-8d9a-15465d2d2c30"
      unitRef="usd">500000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMTA2NzA_20701583-8c5d-4f90-a147-a333db1a1b75"
      unitRef="usd">800000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMTA2Nzc_1b556288-0f6f-4df0-8506-3abd0a436b31"
      unitRef="usd">900000</us-gaap:AdvertisingExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="if4086bf867a240edb4241037e45a4f2c_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMTExMDQ_48073e1d-1a78-4352-b4fa-0ddf1cfb85bb"
      unitRef="usd">10800000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="if33a6fee209543bbbbdedee1736962d8_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMTExMDg_5bfb5c5a-626b-4a12-bf76-620aad895928"
      unitRef="usd">11800000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i137d33fb87914ac5a985fb8f262d9d2e_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMTExMTU_92008dee-95fe-4596-afb2-279cd7ae1880"
      unitRef="usd">9900000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQyOTM_d8228544-6cfa-4cc9-8fc1-63be352e86b9">&lt;div style="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;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 the grant date fair value of stock-based compensation awards as expense in proportion to vesting during the requisite service period, which ranges from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMTEzNTk_4ce5d579-b613-4dd4-9592-3884bf64916a"&gt;one&lt;/span&gt; to three years. Forfeitures of stock-based awards are accounted for as they occur. Upon the exercise of stock options or the vesting of restricted stock awards, newly issued shares of our common stock are issued.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine the fair value of restricted stock awards utilizing the average of the high and low trading prices of our common shares on the date they were granted.&lt;/span&gt;&lt;/div&gt;The fair value of stock options granted to employees and directors is determined utilizing the Black-Scholes option pricing model. The assumptions utilized in the Black-Scholes model include the risk-free interest rate, expected volatility, expected life in years and dividend yield. The risk-free interest rate over the expected term is equal to the prevailing U.S. Treasury note rate over the same period. Expected volatility is determined utilizing historical volatility over a period of time equal to the expected life of the stock option. Expected life is computed utilizing historical exercise patterns and post-vesting behavior. The dividend yield is assumed to be zero since we have not historically declared dividends and do not have any plans to declare dividends in the future.</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i82a1a50a1e064735af6ba1782208837b_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQ0MTA_e3b3b71c-bdf9-41c3-b092-47c858efe9da">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMTI0MTA_18cfa6e4-672c-4eea-bce5-8f1ce8dc7df6"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <ueic:PerformancebasedCommonStockWarrantsPolicyPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQzNTE_f9000872-7bc6-4a1b-befa-5fad5b8a083b">Performance-Based Common Stock Warrants The measurement date for performance-based common stock warrants is the date on which the warrants vest. We recognize the fair value of performance-based common stock warrants as a reduction to net sales ratably as the warrants vest based on the projected number of warrants that will vest, the proportion of the performance criteria achieved by the customer within the period relative to the total performance required (aggregate purchase levels) for the warrants to vest and the fair value of the related unvested warrants. If we do not have a reliable forecast of future purchases to be made by the customer by which to estimate the number of warrants that will vest, then the maximum number of potential warrants is assumed until such time that a reliable forecast of future purchases is available. To the extent that our projections change in the future as to the number of warrants that will vest, a cumulative catch-up adjustment will be recorded in the period in which our estimates change.</ueic:PerformancebasedCommonStockWarrantsPolicyPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQyOTY_7713f9b3-cbe2-4c4b-ae71-1f7d76a47dbf">&lt;div style="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;Foreign Currency Translation and Foreign Currency Transactions&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use the U.S. Dollar as our functional currency for financial reporting purposes. The functional currency for most of our foreign subsidiaries is their local currency. The translation of foreign currencies into U.S. Dollars is performed for balance sheet accounts using exchange rates in effect at the balance sheet dates and for revenue and expense accounts using the average exchange rate during each period. The gains and losses resulting from the translation are included in the foreign currency translation adjustment account, a component of accumulated other comprehensive income in stockholders' equity, and are excluded from net income. The portions of intercompany accounts receivable and accounts payable that are intended for settlement are translated at exchange rates in effect at the balance sheet date. Our intercompany foreign investments and long-term debt that are not intended for settlement are translated using historical exchange rates.&lt;/span&gt;&lt;/div&gt;Transaction gains and losses generated by the effect of changes in foreign currency exchange rates on recorded assets and liabilities denominated in a currency different than the functional currency of the applicable entity are recorded in other income (expense), net.</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQzOTc_e8c27388-0fb1-47f0-857c-b80e1b2be090">&lt;div style="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;Earnings Per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 is computed by dividing net income available to common stockholders by the weighted average number of common shares outstanding during the period. Diluted earnings per share is computed by dividing net income by the weighted average number of common shares and dilutive potential common shares, including the dilutive effect of stock options, restricted stock and common stock warrants, outstanding during the period. Dilutive potential common shares for all periods presented are computed utilizing the treasury stock method; however, dilutive potential common shares are excluded where their inclusion would be anti-dilutive.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQyNjk_cb8eca44-4ed5-45dd-b89d-a32c1544a47c">Financial InstrumentsOur financial instruments consist primarily of cash and cash equivalents, term deposit, accounts receivable, accounts payable, accrued liabilities, debt and derivatives. The carrying value of our financial instruments, excluding derivatives, approximates fair value as a result of their short maturities. Our derivatives are carried at fair value.</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQzMDA_675b3561-e997-45cc-a512-d0145e470cfd">Cash, Cash Equivalents and Term DepositCash and cash equivalents include cash accounts and all investments purchased with initial maturities of three months or less. Our term deposit had an initial maturity of one year, but was redeemed prior to December&#160;31, 2022. Domestically, we generally maintain balances in excess of federally insured limits. We attempt to mitigate our exposure to liquidity, credit and other relevant risks by placing our cash, cash equivalents and term deposit with financial institutions we believe are high quality. These financial institutions are located in many different geographic regions. As part of our cash and risk management processes, we perform periodic evaluations of the relative credit standing of our financial institutions. We have not sustained credit losses from instruments held at financial institutions.</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:MaturityOfTimeDeposits
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMTY0OTI2NzQ4Mjk5Mg_07812ced-bafd-4bc7-837b-75d38233a34d">P1Y</us-gaap:MaturityOfTimeDeposits>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQ0MjQ_7195eeb4-69bc-4d0e-99d7-ac3c1b4c69fb">&lt;div style="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;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 estimated losses on our trade receivables, resulting from the inability of our customers to make payments for products sold or services rendered. The allowance for credit losses is based on a variety of factors, including credit reviews, historical experience, length of time receivables are past due, current economic trends and changes in customer payment behavior. &lt;/span&gt;&lt;/div&gt;We also record specific provisions for individual accounts when we become aware of a customer's inability to meet its financial obligations to us, such as in the case of bankruptcy filings or deterioration in the customer's operating results or financial position. If circumstances related to a customer change, our estimates of the recoverability of the receivables would be further adjusted.</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQyMzg_ee6656f5-cdd5-4b3f-89ba-c51d0ce03b5e">&lt;div style="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;Inventories &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consist of remote controls, wireless sensors and AV accessories, as well as the related component parts and raw materials. Inventoriable costs include materials, labor, freight-in and manufacturing overhead related to the purchase and production of inventories. We value our inventories at the lower of cost or net realizable value. Cost is determined using the first-in, first-out method. We attempt to carry inventories in amounts necessary to satisfy our customer requirements on a timely basis. See Note 5 for further information concerning our inventories and suppliers.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Product innovations and technological advances may shorten a given product's life cycle. We continually monitor our inventories to identify any excess or obsolete items on hand. We write down our inventories for estimated excess and obsolescence in an amount equal to the difference between the cost of the inventories and estimated net realizable value. These estimates are based upon management's judgment about future demand and market conditions.&lt;/span&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQzNzE_068c82d6-443b-41cf-924a-21277d36d58c">&lt;div style="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;Property, Plant, and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant, and equipment are recorded at cost. The cost of property, plant, and equipment includes the purchase price of the asset and all expenditures necessary to prepare the asset for its intended use. We capitalize additions and improvements and expense maintenance and repairs as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We capitalize certain internal and external costs incurred to acquire or create internal use software, principally related to software coding, designing system interfaces and installation and testing of the software.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For financial reporting purposes, depreciation is calculated using the straight-line method over the estimated useful lives of the respective assets. When assets are retired or otherwise disposed of, the cost and accumulated depreciation are removed from the appropriate accounts and any gain or loss is included as a component of depreciation expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimated useful lives are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:60.979%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.821%"/&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;Buildings&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25-33 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;Tooling and equipment&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2-7 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;Computer equipment&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&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 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;Software&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3-7 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;Furniture and fixtures&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5-8 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;Leasehold and building improvements&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lesser&#160;of&#160;lease&#160;term&#160;or&#160;useful&#160;life&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:100%"&gt;(approximately 2 to 10 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQzNjI_fcf7ab72-4c87-46a2-9ec4-c105588eb502">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimated useful lives are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:60.979%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.821%"/&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;Buildings&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25-33 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;Tooling and equipment&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2-7 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;Computer equipment&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&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 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;Software&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3-7 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;Furniture and fixtures&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5-8 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;Leasehold and building improvements&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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lesser&#160;of&#160;lease&#160;term&#160;or&#160;useful&#160;life&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:100%"&gt;(approximately 2 to 10 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant, and equipment, net 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: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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;Buildings&lt;/span&gt;&lt;/td&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;18,291&#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;19,830&#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;Computer equipment&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;9,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;9,655&#160;&lt;/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;Furniture and fixtures&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;3,529&#160;&lt;/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,905&#160;&lt;/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;Leasehold and building improvements&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;39,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;41,437&#160;&lt;/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;Machinery and equipment&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;96,947&#160;&lt;/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;102,864&#160;&lt;/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;Software&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;23,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;23,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;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tooling&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;31,898&#160;&lt;/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,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: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;223,377&#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;235,684&#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;Accumulated depreciation&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;(170,474)&lt;/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,906)&lt;/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="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;52,903&#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;69,778&#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;Construction in progress&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;9,888&#160;&lt;/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,869&#160;&lt;/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 property, plant, and equipment, net&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;62,791&#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;74,647&#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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Construction in progress was as follows:&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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.783%"/&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.668%"/&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;Leasehold and building improvements&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;475&#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 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;100&#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;Machinery and equipment&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;2,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,912&#160;&lt;/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;Software &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;4,862&#160;&lt;/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,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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tooling&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;1,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,168&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;padding:2px 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;417&#160;&lt;/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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total construction in progress&lt;/span&gt;&lt;/div&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;9,888&#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,869&#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:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="id6f04a6d451e4943b3526bf367bb28a1_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfMC0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOmM0MTYwOTAxODM2OTQ4NmZhNzVlODk1MjczMzk3MTJjXzQ_e41364e8-27a6-4a40-a5e4-f1b51899f941">P25Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ia0ffd615de4d47b2a90d6bfcc74d57a4_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfMC0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOmM0MTYwOTAxODM2OTQ4NmZhNzVlODk1MjczMzk3MTJjXzc_ed1826be-0e44-4ce9-b543-92887859e8d4">P33Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i65b804c9fa1f4ba393aba74b8463be07_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfMS0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOjFiMTM3MjMyNWQzMjRjZjA4ZWFkZjFkMWYzMjJjNmEyXzQ_afc93191-6dea-434e-af27-a70887c424ed">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i09b1ac5af3a44519abce70f31d9953e9_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfMS0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOjFiMTM3MjMyNWQzMjRjZjA4ZWFkZjFkMWYzMjJjNmEyXzc_58ec95e5-f775-499c-a08e-72385480c5a1">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i86873fe5dd874e5d80ac8a8396683b2a_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfMi0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOjk0NzBkYzRjNmFhODQzYzNiMmUyMzk3MjQ4NjY2MjdkXzQ_d4605b87-50b9-4e70-b74e-45aff78703dd">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i8299d4242a4f4f68a2830846ac7c149e_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfMi0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOjk0NzBkYzRjNmFhODQzYzNiMmUyMzk3MjQ4NjY2MjdkXzc_e495c3aa-68e9-47a8-8386-5dc94469ca80">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i79fada0248134dbd81a6bd5493ebc29e_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfMy0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOjU0OTk5ODJhNTAxODRjYzA4Y2RlMDliYjE1NzZlYzVkXzQ_745f937f-2187-4d57-9575-6918aebe1b43">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i9f918bd5798644ef9fcd79c50b1a05a2_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfMy0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOjU0OTk5ODJhNTAxODRjYzA4Y2RlMDliYjE1NzZlYzVkXzc_09af6dd7-1fa9-40b6-afd5-a6124fe2cbd9">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ib405d2ac1e494ba9bf5076da7b41eb73_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfNC0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOmY1NDY3MDZkNWNjYzRiMTVhZmExYWIxMjUzMzBhNjZmXzQ_e2c2d30c-b8a4-4756-afb2-4ba024cfc269">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i3dbf32a5077a43c6937b81c5fca030b5_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfNC0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOmY1NDY3MDZkNWNjYzRiMTVhZmExYWIxMjUzMzBhNjZmXzc_65af5947-e30d-4089-b911-e25686fb5308">P8Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i2467252405114d6a8276f76c32345676_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfNS0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOjQ1ZmU0MGRmNDY0ZjRmYmQ5Zjk1OWVkYWQ2MGUzYjUxXzU1_2963413e-eca7-4dc9-9474-49029fdf8803">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i3e19e60348fd423cb8a9c695e21c17e1_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RhYmxlOjY3YTc5MzZiOWY3ZDRjMzc4ZjM1Y2FhYjM5MThlMDc0L3RhYmxlcmFuZ2U6NjdhNzkzNmI5ZjdkNGMzNzhmMzVjYWFiMzkxOGUwNzRfNS0xLTEtMS00NzE5MC90ZXh0cmVnaW9uOjQ1ZmU0MGRmNDY0ZjRmYmQ5Zjk1OWVkYWQ2MGUzYjUxXzYx_08a2fe8a-43a2-4e8a-aa0b-8c53d7a6a9e6">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQ0Mjk_4a490add-6a89-42c0-8e54-9893b234d8ad">&lt;div style="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;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine if an arrangement is a lease at inception and determine the classification of the lease, as either operating or finance, at commencement. Operating leases are included in operating lease right-of-use ("ROU") assets, other accrued liabilities and long-term operating lease obligations on our consolidated balance sheets. We presently do not have any finance leases. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the commencement date, including the lease term, in determining the present value of lease payments. Operating lease ROU assets also factor in any lease payments made, initial direct costs and lease incentives received. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. Some of our leases include options to extend with a range of three years to five years with two extensions at the then current market rate. Lease expense for lease payments is recognized on a straight-line basis over the lease term.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Leases with an initial term of twelve months or less, or on a month-to-month basis, are not recorded on the balance sheet and are recognized on a straight-line basis over the lease term. If applicable, we combine lease and non-lease components, which primarily relate to ancillary expenses associated with real estate leases such as common area maintenance charges and management fees.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="i463cba5e8df0404d90d251f45a7f4ad5_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMjMwMDg_e9b230aa-990a-4d89-b518-bb07d387d97b">P3Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="i8e40556ba18443589b4ac19a4ccd3c8e_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMjMwMTQ_1af2283e-7ac7-469c-b4f8-ca4602593398">P5Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <ueic:LesseeOperatingLeaseNumberOfOptionsToExtend
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMjMwMjI_4209c42a-dab5-4685-80dc-c2892e2dca36"
      unitRef="extension">2</ueic:LesseeOperatingLeaseNumberOfOptionsToExtend>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQ0MTY_987bd6a9-862d-40ed-9df9-3474a2a9167f">&lt;div style="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;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 the excess purchase price of net tangible and intangible assets acquired over their estimated fair value as goodwill. We evaluate the carrying value of goodwill on December&#160;31 of each year and between annual evaluations if events occur or circumstances change that may reduce the fair value of the reporting unit below its carrying amount. Such circumstances may include, but are not limited to: (1)&#160;a significant adverse change in legal factors or in business climate, (2)&#160;a decline in macroeconomic conditions, (3) a significant decline in our financial performance or (4) a significant decline in the price of our common stock for a sustained period of time. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 impairment test using a qualitative assessment weighing the relative impact of factors that are specific to our single reporting unit as well as industry and macroeconomic factors. Based on the qualitative assessment performed, considering the aggregation of the relevant factors, we concluded that it is not more likely than not that the fair value of our single reporting unit is less than the carrying value. Therefore, performing a quantitative impairment test was unnecessary.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <us-gaap:IntangibleAssetsFiniteLivedPolicy
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQyNTE_72b6c166-767f-48c3-b195-31ed20cb909d">&lt;div style="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;Long-Lived and Intangible Assets Impairment&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets consist of capitalized software development costs, customer relationships, developed and core technologies, distribution rights, patents and trademarks and trade names. Capitalized amounts related to patents represent external legal costs for the application, maintenance and extension of the useful life of patents. Intangible assets are amortized using the straight-line method over their estimated period of benefit, ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMjUyNDQ_639395ac-2e19-45be-8f4a-9543362edecc"&gt;two&lt;/span&gt; to 15 years.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We assess the impairment of long-lived assets and intangible assets whenever events or changes in circumstances indicate that the carrying value may not be recoverable. Factors considered important which may trigger an impairment review include the following: (1)&#160;significant underperformance relative to historical or projected future operating results; (2)&#160;significant changes in the manner or use of the assets or strategy for the overall business; (3)&#160;significant negative industry or economic trends; and (4)&#160;a significant decline in our stock price for a sustained period.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We conduct an impairment review when we determine that the carrying value of a long-lived or intangible asset may not be recoverable based upon the existence of one or more of the above indicators of impairment. The asset is impaired if its carrying value exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset. In assessing recoverability, we make assumptions regarding estimated future cash flows and other factors.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;An impairment loss is the amount by which the carrying value of an asset exceeds its fair value. We estimate fair value utilizing the projected discounted cash flow method and a discount rate determined by our management to be commensurate with the risk inherent in our current business model. When calculating fair value, we make assumptions regarding estimated future cash flows, discount rates and other factors.&lt;/span&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsFiniteLivedPolicy>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i82a1a50a1e064735af6ba1782208837b_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMjUyNTA_135e0e9d-d255-4cc0-8be6-67d00cb7ff77">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQ0MDg_92af88f6-4501-4417-b3eb-3102b64c0fba">&lt;div style="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;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We allocate the purchase price of acquired businesses to the tangible and intangible assets and the liabilities assumed based on their estimated fair values on the acquisition date. The excess of the purchase price over the fair value of net assets acquired is recorded as goodwill. We engage independent third-party appraisal firms to assist us in determining the fair values of assets acquired and liabilities assumed. Such valuations require management to make significant fair value estimates and assumptions, especially with respect to intangible assets and contingent consideration. Management estimates the fair value of certain intangible assets and contingent consideration by utilizing the following (but not limited to):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-22.5pt"&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:19pt"&gt;future cash flow from customer contracts, customer lists, distribution agreements, acquired developed technologies, trademarks, trade names and patents;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-22.5pt"&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:19pt"&gt;expected costs to complete development of in-process technology into commercially viable products and cash flows from the products once they are completed;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-22.5pt"&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:19pt"&gt;brand awareness and market position, as well as assumptions regarding the period of time the brand will continue to be used in our product portfolio; and &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-22.5pt"&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:19pt"&gt;discount rates utilized in discounted cash flow models.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Results of operations and cash flows of acquired businesses are included in our operating results from the date of acquisition.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In those circumstances where an acquisition involves a contingent consideration arrangement, we recognize a liability equal to the fair value of the contingent payments we expect to make as of the acquisition date. We re-measure this liability at each reporting period and record changes in the fair value within operating expenses. Increases or decreases in the fair value of the contingent consideration liability can result from changes in discount periods and rates, as well as changes in the timing and amount of earnings estimates or in the timing or likelihood of achieving earnings-based milestones. Contingent consideration is recorded in other accrued liabilities and long-term contingent consideration in our consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:DerivativesPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQyOTc_47756d82-9ac2-4d6d-878b-1e2840d03b44">&lt;div style="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;Derivatives&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our foreign currency exposures are primarily concentrated in the Brazilian Real, British Pound, Chinese Yuan Renminbi, Euro, Hong Kong Dollar, Indian Rupee, Japanese Yen, Korean Won and Mexican Peso. We periodically enter into foreign currency exchange contracts with terms normally lasting less than nine months, to protect against the adverse effects that exchange-rate fluctuations may have on our foreign currency-denominated receivables, payables, cash flows and reported income. We do not enter into financial instruments for speculation or trading purposes.&lt;/span&gt;&lt;/div&gt;The derivatives we enter into have not qualified for hedge accounting. The gains and losses on both the derivatives and the foreign currency-denominated balances are recorded as foreign exchange transaction gains or losses and are classified in other income (expense), net. Derivatives are recorded on the balance sheet at fair value. The estimated fair value of derivative financial instruments represents the amount required to enter into similar offsetting contracts with similar remaining maturities based on quoted market prices. See Note 19 for further information concerning derivatives.</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMjkzODE_15cefe0c-a4e0-4842-a7a5-07f298a04239">P9M</us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQ0MzY_c3276e99-5b07-4dd1-8172-7367f51027c8">&lt;div style="margin-top:1pt;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;Fair-Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 fair value using the framework established by the FASB in ASC Topic 820 for fair value measurements and disclosures. This framework requires fair value to be determined based on the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The valuation techniques are based upon observable and unobservable inputs. Observable or market inputs reflect market data obtained from independent sources. Unobservable inputs require management to make certain assumptions and judgments based on the best information available. Observable inputs are the preferred data source. These two types of inputs result in the following fair value hierarchy:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:89.982%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;1:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Quoted prices (unadjusted) for identical instruments in active markets.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 2:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Quoted prices for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-based valuation techniques for which all significant assumptions are observable in the market or can be corroborated by observable market data for substantially the full term of the assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 3:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prices or valuations that require management inputs that are both significant to the fair value measurement and unobservable.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84Mi9mcmFnOjdjNmQ1ZTFjZWVjZjRkMThhYmRhZGRmMThmYTZmOGYzL3RleHRyZWdpb246N2M2ZDVlMWNlZWNmNGQxOGFiZGFkZGYxOGZhNmY4ZjNfMzQzMzA_c07cdacd-c35d-49d7-800a-043828deffea">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Pronouncements &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 2021, the FASB issued ASU 2021-08, "Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers". This guidance requires an entity to recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Topic 606, "Revenue from Contracts with Customers". At the acquisition date, the acquirer applies the revenue recognition model as if it had originated the acquired contracts. Our adoption of this guidance on January 1, 2022 did not have a material impact on our consolidated statement of financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="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%;text-decoration:underline"&gt;Other Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounting Updates Not Yet Effective&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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, "Facilitation of the Effects of Reference Rate Reform on Financial Reporting", in January 2021, the FASB issued ASU 2021-01, "Reference Rate Reform", and in December 2022, the FASB issued ASU 2022-06, "Deferral of the Sunset Date of Topic 848". This guidance is intended to provide temporary optional expedients and exceptions to GAAP guidance on contract modifications and hedge accounting to ease the financial reporting burden related to the expected market transition from the London Interbank Offered Rate ("LIBOR") and other interbank offered rates to alternative reference rates. The amendments in these ASUs are elective and are effective upon issuance for all entities through December 31, 2024. These amendments are not expected to have a material impact on our consolidated statement of financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RleHRyZWdpb246MmI1MDNlNmYyZTA4NDA2YjkxYjg3NTE4MGE5NGFjMjhfMTE0_7c853703-289d-4db8-a379-58bc2fd51b64">Cash and Cash Equivalents and Term Deposit&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;Cash and cash equivalents were held in the following geographic regions:&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: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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&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;6,825&#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;6,430&#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;People's Republic of China ("PRC")&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;15,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,000&#160;&lt;/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;Asia (excluding the PRC)&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;18,850&#160;&lt;/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,798&#160;&lt;/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;Europe&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;13,042&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;17,604&#160;&lt;/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;South America&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,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;8,981&#160;&lt;/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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;/div&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;66,740&#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;60,813&#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;On January 25, 2022, we entered into a one-year term deposit cash account with Banco Santander (Brasil) S.A., denominated in Brazilian Real. The term deposit earned interest at a variable annual rate based upon the Brazilian CDI overnight interbank rate. As of December&#160;31, 2022, all of this term deposit was redeemed.</us-gaap:CashAndCashEquivalentsDisclosureTextBlock>
    <us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RleHRyZWdpb246MmI1MDNlNmYyZTA4NDA2YjkxYjg3NTE4MGE5NGFjMjhfMTI0_5214a807-7456-4405-b9e3-2acbde93e904">&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;Cash and cash equivalents were held in the following geographic regions:&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: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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&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;6,825&#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;6,430&#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;People's Republic of China ("PRC")&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;15,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,000&#160;&lt;/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;Asia (excluding the PRC)&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;18,850&#160;&lt;/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,798&#160;&lt;/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;Europe&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;13,042&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;17,604&#160;&lt;/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;South America&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,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;8,981&#160;&lt;/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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;/div&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;66,740&#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;60,813&#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:ScheduleOfCashAndCashEquivalentsTableTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="iacd22406de7446bdb898921fbbb8349a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfMi0xLTEtMS00NzE5MA_3dfc0b7a-21f7-458f-bc19-5971a070c928"
      unitRef="usd">6825000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i3ec104d4ec6542c0bf195e2a440413df_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfMi0zLTEtMS00NzE5MA_b381f31a-33a5-49f2-8529-0fc379d689af"
      unitRef="usd">6430000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i5f66215479ac4b61b069dad41375080a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfMy0xLTEtMS00NzE5MA_f0ab2184-f602-4685-844e-af0f8c069c3e"
      unitRef="usd">15633000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i994a22df6c0b44cd9e78af40d6a3d56a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfMy0zLTEtMS00NzE5MA_3dc0580a-efd2-4473-87f2-a2a9eac31064"
      unitRef="usd">16000000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i7a333264c2ba4ed78f5d9634b56a73f1_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfNC0xLTEtMS00NzE5MA_f46e265c-81bb-4cf0-86d8-f3348ee4f3a5"
      unitRef="usd">18850000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="if262da2449e64a7194a15dcfd720873f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfNC0zLTEtMS00NzE5MA_cc4ecaf1-5343-4e17-8fd3-79ec1bc8f86d"
      unitRef="usd">11798000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i7a6eeabead724923aefb14168aaa1ba7_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfNS0xLTEtMS00NzE5MA_8ac566c4-822f-4bf0-9070-805d508435b6"
      unitRef="usd">13042000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i5f5ea9785cf24486bd17bc98d230b997_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfNS0zLTEtMS00NzE5MA_1829ada1-a3ab-4cdb-9568-5e4811437848"
      unitRef="usd">17604000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i11a22b72ab244d3987a7b0f00ec144ec_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfNi0xLTEtMS00NzE5MA_d19be1f0-20fe-489f-9fdd-9cc089cdb5e8"
      unitRef="usd">12390000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i7844e9b0c2aa4b4eb3c4d71a7f9c8d7a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfNi0zLTEtMS00NzE5MA_922eace4-4579-4956-8289-7c8e0e8f863f"
      unitRef="usd">8981000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfNy0xLTEtMS00NzE5MA_8a0146e8-1e91-496f-aa78-6211dd6f70e2"
      unitRef="usd">66740000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RhYmxlOjM0ZDA4OTE1NWJlNjRlMzNiMTU4ZTEwYzE2Njk0NDg2L3RhYmxlcmFuZ2U6MzRkMDg5MTU1YmU2NGUzM2IxNThlMTBjMTY2OTQ0ODZfNy0zLTEtMS00NzE5MA_e2f43aa7-b745-4640-a8f5-ed4a5b4428dd"
      unitRef="usd">60813000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MaturityOfTimeDeposits
      contextRef="i79f1e8f264044f3daf2a2b2503436985_D20220125-20220125"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV84OC9mcmFnOjJiNTAzZTZmMmUwODQwNmI5MWI4NzUxODBhOTRhYzI4L3RleHRyZWdpb246MmI1MDNlNmYyZTA4NDA2YjkxYjg3NTE4MGE5NGFjMjhfMTY0OTI2NzQ0MjQwMQ_8db5f947-3921-4121-accf-894485e842a2">P1Y</us-gaap:MaturityOfTimeDeposits>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RleHRyZWdpb246MGQ0M2RkNzcwM2ZmNDhjMjlhMTRjNjFkZmNhZDM3NTdfMTEwNg_923e57f8-4d4d-45d1-b39f-1dee3bdbfd68">Revenue and Accounts Receivable, Net&lt;div style="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;Revenue Details&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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;The pattern of revenue recognition was 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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.578%"/&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.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.524%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goods and services transferred at a point in time&lt;/span&gt;&lt;/td&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;450,227&#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;498,554&#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;495,033&#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;Goods and services transferred over time&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;92,524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;103,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;119,647&#160;&lt;/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;Net sales&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;542,751&#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;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;601,602&#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;614,680&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our net sales to external customers by geographic area 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;/div&gt;&lt;div style="text-align:justify"&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:53.578%"/&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.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.524%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;United States&lt;/span&gt;&lt;/td&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;167,501&#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;200,136&#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;255,651&#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;Asia (excluding the PRC)&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;127,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;127,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;117,142&#160;&lt;/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;Europe&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;103,993&#160;&lt;/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;126,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;108,185&#160;&lt;/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;People's Republic of China&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;85,215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;87,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;88,246&#160;&lt;/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;Latin America&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;28,363&#160;&lt;/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,943&#160;&lt;/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;17,481&#160;&lt;/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&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;29,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;33,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;27,975&#160;&lt;/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 net sales&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;542,751&#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;601,602&#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;614,680&#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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Specific identification of the customer billing location was the basis used for attributing revenues from external customers to geographic areas.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales to the following customer totaled more than 10% of our net sales:&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;/div&gt;&lt;div style="margin-top:8pt"&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:21.138%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.767%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.767%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.767%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.603%"/&gt;&lt;td style="width:0.1%"/&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="33" style="border-bottom: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:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2020&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="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;&#160;&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Net&lt;br/&gt;Sales&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:700;line-height:100%"&gt;$ (thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Net&lt;br/&gt;Sales&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:700;line-height:100%"&gt;$ (thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Net&lt;br/&gt;Sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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 37pt;text-align:left;text-indent:-18pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Comcast Corporation&lt;/span&gt;&lt;/td&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;78,781&#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;14.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;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;98,361&#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;16.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;span style="color:#000000;font-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 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;123,574&#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;20.1&#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="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;Daikin Industries Ltd.&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;78,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;14.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 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;70,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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.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 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: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: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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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: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: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="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt; &#160;&#160;&#160;&#160;Sales associated with this customer did not total more than 10% of our net sales for the indicated period.&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-style:italic;font-weight:400;line-height:120%"&gt;Accounts Receivable, Net&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;Accounts receivable, net were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;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="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:700;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;Trade receivables, gross&lt;/span&gt;&lt;/td&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;108,030&#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;122,508&#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;Allowance for credit losses&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;(957)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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)&lt;/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;Allowance for sales returns&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;(618)&lt;/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;(592)&lt;/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 receivables, net&lt;/span&gt;&lt;/td&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;106,455&#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;120,631&#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;Other &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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,891&#160;&lt;/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,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: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;Accounts receivable, net&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;112,346&#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;129,215&#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:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &#160;&#160;&#160;&#160; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other accounts receivable is primarily comprised of value added tax and supplier rebate receivables.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 the allowance for credit losses were as follows:&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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" rowspan="2" 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance&#160;at beginning of period&lt;/span&gt;&lt;/td&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,285&#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,412&#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,492&#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;Additions (reductions) to&#160;costs&#160;and expenses&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;(182)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;332&#160;&lt;/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;Cash receipts&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;&#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;(157)&lt;/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;Write-offs/Foreign exchange effects&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;(146)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(127)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(255)&lt;/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;Balance&#160;at end of period&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;957&#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,285&#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,412&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Trade receivables associated with this significant customer that totaled more than 10% of our accounts receivable, net were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:38.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.577%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.577%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.577%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.584%"/&gt;&lt;td style="width:0.1%"/&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="24" style="padding:2px 1pt;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;December 31, &lt;/span&gt;&lt;/td&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="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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2021&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="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Accounts Receivable, Net&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Accounts Receivable, Net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;Comcast Corporation&lt;/span&gt;&lt;/td&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,367&#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 #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;13.7&#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;span style="color:#000000;font-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 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: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: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="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;&#x2014;&#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;span style="color:#000000;font-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: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: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="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt; &#160;&#160;&#160;&#160;Trade receivables associated with this customer did not total more than 10% of our accounts receivable, net for the indicated period.&lt;/span&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RleHRyZWdpb246MGQ0M2RkNzcwM2ZmNDhjMjlhMTRjNjFkZmNhZDM3NTdfMTEwOA_ff05c3f2-95c7-4389-8281-657f5969a7bc">&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 pattern of revenue recognition was 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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.578%"/&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.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.524%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goods and services transferred at a point in time&lt;/span&gt;&lt;/td&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;450,227&#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;498,554&#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;495,033&#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;Goods and services transferred over time&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;92,524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;103,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;119,647&#160;&lt;/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;Net sales&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;542,751&#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;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;601,602&#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;614,680&#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:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8d3d96a2a508480bb0ff67b267427503_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjc5MzY5ODEyMDNiZTQwM2U5MTAwMjA4NjhlNTJiMjk4L3RhYmxlcmFuZ2U6NzkzNjk4MTIwM2JlNDAzZTkxMDAyMDg2OGU1MmIyOThfMi0xLTEtMS00NzE5MA_a02c34bf-3355-4bce-9378-fc91777a4577"
      unitRef="usd">450227000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i97873c9fcfb64a3abd24aa9d8b17cd00_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjc5MzY5ODEyMDNiZTQwM2U5MTAwMjA4NjhlNTJiMjk4L3RhYmxlcmFuZ2U6NzkzNjk4MTIwM2JlNDAzZTkxMDAyMDg2OGU1MmIyOThfMi0zLTEtMS00NzE5MA_b22f11db-4d55-4be6-995c-0f1c66921722"
      unitRef="usd">498554000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibee9cd6a7ed64f3683362d04e1c3a083_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjc5MzY5ODEyMDNiZTQwM2U5MTAwMjA4NjhlNTJiMjk4L3RhYmxlcmFuZ2U6NzkzNjk4MTIwM2JlNDAzZTkxMDAyMDg2OGU1MmIyOThfMi01LTEtMS00NzE5MA_d378ff0f-b133-484b-938c-0b9721eaf8bb"
      unitRef="usd">495033000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i376f447a26d8474eb654aab1256073da_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjc5MzY5ODEyMDNiZTQwM2U5MTAwMjA4NjhlNTJiMjk4L3RhYmxlcmFuZ2U6NzkzNjk4MTIwM2JlNDAzZTkxMDAyMDg2OGU1MmIyOThfMy0xLTEtMS00NzE5MA_f55af293-c2a4-45e6-b1e6-0e91bc1e61c4"
      unitRef="usd">92524000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia3838b7fa4864461beac9832e9a6a76b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjc5MzY5ODEyMDNiZTQwM2U5MTAwMjA4NjhlNTJiMjk4L3RhYmxlcmFuZ2U6NzkzNjk4MTIwM2JlNDAzZTkxMDAyMDg2OGU1MmIyOThfMy0zLTEtMS00NzE5MA_225e76f6-27cc-4826-84fa-51176b515bdc"
      unitRef="usd">103048000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib55a70c0526d47e7af7396468497f67d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjc5MzY5ODEyMDNiZTQwM2U5MTAwMjA4NjhlNTJiMjk4L3RhYmxlcmFuZ2U6NzkzNjk4MTIwM2JlNDAzZTkxMDAyMDg2OGU1MmIyOThfMy01LTEtMS00NzE5MA_caf9e2c7-d12d-4c97-9ef8-3c85d91bcc8d"
      unitRef="usd">119647000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjc5MzY5ODEyMDNiZTQwM2U5MTAwMjA4NjhlNTJiMjk4L3RhYmxlcmFuZ2U6NzkzNjk4MTIwM2JlNDAzZTkxMDAyMDg2OGU1MmIyOThfNC0xLTEtMS00NzE5MA_1b331624-7ce0-44b0-8144-389f4b91aca7"
      unitRef="usd">542751000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjc5MzY5ODEyMDNiZTQwM2U5MTAwMjA4NjhlNTJiMjk4L3RhYmxlcmFuZ2U6NzkzNjk4MTIwM2JlNDAzZTkxMDAyMDg2OGU1MmIyOThfNC0zLTEtMS00NzE5MA_165ea462-914b-4272-a5e6-b4cb8f25ebfd"
      unitRef="usd">601602000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjc5MzY5ODEyMDNiZTQwM2U5MTAwMjA4NjhlNTJiMjk4L3RhYmxlcmFuZ2U6NzkzNjk4MTIwM2JlNDAzZTkxMDAyMDg2OGU1MmIyOThfNC01LTEtMS00NzE5MA_ae555736-8653-4626-bc06-925d5b4af156"
      unitRef="usd">614680000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RleHRyZWdpb246MGQ0M2RkNzcwM2ZmNDhjMjlhMTRjNjFkZmNhZDM3NTdfMTA5Ng_1f0ee1c9-3b58-4ca3-aae1-d2e967689c56">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our net sales to external customers by geographic area 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;/div&gt;&lt;div style="text-align:justify"&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:53.578%"/&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.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.524%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;United States&lt;/span&gt;&lt;/td&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;167,501&#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;200,136&#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;255,651&#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;Asia (excluding the PRC)&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;127,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;127,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;117,142&#160;&lt;/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;Europe&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;103,993&#160;&lt;/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;126,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;108,185&#160;&lt;/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;People's Republic of China&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;85,215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;87,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;88,246&#160;&lt;/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;Latin America&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;28,363&#160;&lt;/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,943&#160;&lt;/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;17,481&#160;&lt;/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&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;29,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;33,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;27,975&#160;&lt;/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 net sales&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;542,751&#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;601,602&#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;614,680&#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:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icaf095ade7764a8a89b29fa00ab6fed2_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfMi0xLTEtMS00NzE5MA_bc3d6f44-db7d-49c1-ab3d-2fce4c8f86a2"
      unitRef="usd">167501000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1a8ba80180d24e16903efb61f122fc80_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfMi0zLTEtMS00NzE5MA_a31b6180-4ba8-4008-9493-78aa532154f9"
      unitRef="usd">200136000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia89aa1564884456eb2226fe1505ad2a2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfMi01LTEtMS00NzE5MA_6038dfda-1bfa-4e05-b72c-9fe930231bda"
      unitRef="usd">255651000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib78289de4c044e63991586092d47df95_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfMy0xLTEtMS00NzE5MA_1ed89b7d-32b3-4e70-b8dc-1a6201dab526"
      unitRef="usd">127702000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iaaf58c73ae37453ca1925c142e777d40_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfMy0zLTEtMS00NzE5MA_e3bd2df3-6408-4473-997c-3e391c3fff77"
      unitRef="usd">127140000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7df0126dff5d41aeae6c33538d3298e5_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfMy01LTEtMS00NzE5MA_d76a786d-2db5-4f5e-9a9b-1bb479a8bbfb"
      unitRef="usd">117142000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i002b1b955dbd4c80a6f9011718af0bd5_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNC0xLTEtMS00NzE5MA_465b3641-43a0-4dfb-9942-2bb18350d7a1"
      unitRef="usd">103993000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie3aa77baf43b467182f63eaeaae40a05_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNC0zLTEtMS00NzE5MA_ef3e91d8-767d-4d88-a9ce-dce92d4e4278"
      unitRef="usd">126551000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9c6f2377434f464db47426a116692860_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNC01LTEtMS00NzE5MA_93b45ba5-fd2a-44f5-a82e-3439b49e75db"
      unitRef="usd">108185000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i77d3b20fc24e488ab21086d52a92cbc5_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNS0xLTEtMS00NzE5MA_3a2bc820-a9c2-4690-95ba-5772ee0b21f8"
      unitRef="usd">85215000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i292aa42a11c742ce983cfcca8527eb7d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNS0zLTEtMS00NzE5MA_aef56e9f-3c76-44db-b920-d39ede772e70"
      unitRef="usd">87866000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie7df1d3bfa784ef0aca9254ffdbe7c2c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNS01LTEtMS00NzE5MA_7943531d-cdfa-491d-8b14-3a883a4ce75d"
      unitRef="usd">88246000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1fb67082ded54280a933620a970912c3_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNi0xLTEtMS00NzE5MA_69e6febb-8ce8-4fbb-96ed-de892ffd72d3"
      unitRef="usd">28363000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5bd4f3f33562468b9e0efa0c797ebc92_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNi0zLTEtMS00NzE5MA_6718350e-636b-4fcc-bc79-f1949ced706b"
      unitRef="usd">25943000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i65327c346f764f0598a4403a30b80df1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNi01LTEtMS00NzE5MA_8cfc7331-62cc-4896-b3a3-840249f7af97"
      unitRef="usd">17481000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4b21d2624e934cd1a7255265d75fa669_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNy0xLTEtMS00NzE5MA_13428739-9138-4c76-ae74-610c226f311a"
      unitRef="usd">29977000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idc26250f568846909af4c9664fdbfb56_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNy0zLTEtMS00NzE5MA_a46a3eed-9117-45e8-8f90-b747539a963a"
      unitRef="usd">33966000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0ef0b048947e44a0a582dc8b2cd296e2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfNy01LTEtMS00NzE5MA_d1c2adea-e1b7-46a1-a739-5fe373245d95"
      unitRef="usd">27975000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfOC0xLTEtMS00NzE5MA_73fcfebf-421a-4f4d-b0e7-33910e358d35"
      unitRef="usd">542751000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfOC0zLTEtMS00NzE5MA_2e23dc53-2bfd-4842-bcc5-a46011d239d9"
      unitRef="usd">601602000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjE1YjU5M2UzMjcwNzRjMmM4ZmJiNzAxODA4OGE3Njg4L3RhYmxlcmFuZ2U6MTViNTkzZTMyNzA3NGMyYzhmYmI3MDE4MDg4YTc2ODhfOC01LTEtMS00NzE5MA_916b2b66-0e71-487b-9889-c162aae64a04"
      unitRef="usd">614680000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RleHRyZWdpb246MGQ0M2RkNzcwM2ZmNDhjMjlhMTRjNjFkZmNhZDM3NTdfMTA5MA_35356dda-848e-4e66-93f9-afafc79cdd7d">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales to the following customer totaled more than 10% of our net sales:&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;/div&gt;&lt;div style="margin-top:8pt"&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:21.138%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.767%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.767%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.767%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.603%"/&gt;&lt;td style="width:0.1%"/&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="33" style="border-bottom: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:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2020&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="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;&#160;&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Net&lt;br/&gt;Sales&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:700;line-height:100%"&gt;$ (thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Net&lt;br/&gt;Sales&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:700;line-height:100%"&gt;$ (thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Net&lt;br/&gt;Sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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 37pt;text-align:left;text-indent:-18pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Comcast Corporation&lt;/span&gt;&lt;/td&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;78,781&#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;14.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;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;98,361&#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;16.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;span style="color:#000000;font-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 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;123,574&#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;20.1&#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="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;Daikin Industries Ltd.&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;78,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;14.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 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;70,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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.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 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: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: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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;span style="color:#000000;font-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: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: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="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt; &#160;&#160;&#160;&#160;Sales associated with this customer did not total more than 10% of our net sales for the indicated period.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5a10cde675834c048ac260e04f9918ad_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfMy0xLTEtMS00NzE5MA_231b8768-94a2-4d24-90da-64dd0831287a"
      unitRef="usd">78781000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia905aeb4c8e94de2a263224fdff56b41_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfMy0zLTEtMS00NzE5MA_c9dc7a21-e759-4bfc-88b8-9df955b076a6"
      unitRef="number">0.145</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7ac0549bfade49769e7473541bd2fee8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfMy01LTEtMS00NzE5MA_922a7a61-e578-46d7-b77d-9d1027ef29f6"
      unitRef="usd">98361000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i413456b43e934b44b236299acc29e625_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfMy03LTEtMS00NzE5MA_58ee9b29-5403-4f60-aeb4-7404aed8ed34"
      unitRef="number">0.163</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5d6f76b7b0f64ed897758ee214c7a662_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfMy05LTEtMS00NzE5MA_5be5e52e-c54b-4aaa-b7ba-e8fdcccdb83b"
      unitRef="usd">123574000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4a5c957dba874728962f8172a12f63ca_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfMy0xMS0xLTEtNDcxOTA_b2acfc01-0a15-4f1f-980a-86733b9f5451"
      unitRef="number">0.201</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i63f2e5cc12f546b280eb60f76992b570_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfNC0xLTEtMS00NzE5MA_439766f7-a749-4fc0-be02-a74eed670c54"
      unitRef="usd">78413000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i1b503cbc1aa345a28d3ea8cbd910c3e5_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfNC0zLTEtMS00NzE5MA_ea3389e3-c2ea-4fdb-9b46-30358d2ed52d"
      unitRef="number">0.144</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i416da6bbda954d42b2062d6280f3e15c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfNC01LTEtMS00NzE5MA_223cae16-918b-44d9-a072-ef0fcea70700"
      unitRef="usd">70793000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i06db4945074f4a3087e19319c094af62_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfNC03LTEtMS00NzE5MA_3de975b7-d512-4e07-851b-b43f8bed36c3"
      unitRef="number">0.118</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iab095b37a9654f9cb86de432a201a537_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfNC05LTEtMS00NzE5MA_6e18e4ba-6361-4127-8e15-bd10f4329097"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ibd503ef568fe46689a563740d4d21783_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOmVhODM2MGE3MGMzYjQyM2FiYmZkYzBlN2I2OWE2OGY3L3RhYmxlcmFuZ2U6ZWE4MzYwYTcwYzNiNDIzYWJiZmRjMGU3YjY5YTY4ZjdfNC0xMS0xLTEtNDcxOTA_7b53ef23-8461-49aa-a6d5-34868dc6cca8"
      unitRef="number">0</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RleHRyZWdpb246MGQ0M2RkNzcwM2ZmNDhjMjlhMTRjNjFkZmNhZDM3NTdfMTEwMw_8ca8aa72-fe81-40d1-9532-3d6e68405c3a">&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;Accounts receivable, net were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;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="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:700;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;Trade receivables, gross&lt;/span&gt;&lt;/td&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;108,030&#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;122,508&#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;Allowance for credit losses&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;(957)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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)&lt;/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;Allowance for sales returns&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;(618)&lt;/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;(592)&lt;/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 receivables, net&lt;/span&gt;&lt;/td&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;106,455&#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;120,631&#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;Other &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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,891&#160;&lt;/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,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: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;Accounts receivable, net&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;112,346&#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;129,215&#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:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &#160;&#160;&#160;&#160; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other accounts receivable is primarily comprised of value added tax and supplier rebate receivables.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 the allowance for credit losses were as follows:&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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" rowspan="2" 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance&#160;at beginning of period&lt;/span&gt;&lt;/td&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,285&#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,412&#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,492&#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;Additions (reductions) to&#160;costs&#160;and expenses&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;(182)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;332&#160;&lt;/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;Cash receipts&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;&#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;(157)&lt;/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;Write-offs/Foreign exchange effects&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;(146)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(127)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(255)&lt;/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;Balance&#160;at end of period&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;957&#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,285&#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,412&#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:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfMi0xLTEtMS00NzE5MA_a3a74dc3-e044-4806-ab24-ec2d46f6af64"
      unitRef="usd">108030000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfMi0zLTEtMS00NzE5MA_91dd6254-2163-48a1-940b-90c6f1b0bcd2"
      unitRef="usd">122508000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfMy0xLTEtMS00NzE5MA_eadd33c7-4e29-4cf2-92af-973ad004797e"
      unitRef="usd">957000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfMy0zLTEtMS00NzE5MA_440ec44c-b1e1-4283-9538-d280da690897"
      unitRef="usd">1285000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <ueic:AllowanceForSalesReturns
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfNC0xLTEtMS00NzE5MA_dab865b6-c44c-480c-b78f-1e679183935a"
      unitRef="usd">618000</ueic:AllowanceForSalesReturns>
    <ueic:AllowanceForSalesReturns
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfNC0zLTEtMS00NzE5MA_9f3de63c-0a9a-4ad9-8f22-ee8c8a12d978"
      unitRef="usd">592000</ueic:AllowanceForSalesReturns>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfNS0xLTEtMS00NzE5MA_880897f5-ecb5-4b70-922a-7d2e82122fe3"
      unitRef="usd">106455000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfNS0zLTEtMS00NzE5MA_9dc6e37e-90bc-451d-9e95-19f4c10ee5d7"
      unitRef="usd">120631000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfNi0xLTEtMS00NzE5MA_528d8488-572b-4fe6-9081-8c07453f5189"
      unitRef="usd">5891000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfNi0zLTEtMS00NzE5MA_0914970a-386e-43f7-bb20-87e6c6ccab55"
      unitRef="usd">8584000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfNy0xLTEtMS00NzE5MA_41c6825e-f414-43e9-bf36-4d502df6e113"
      unitRef="usd">112346000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjllZTc5N2IwNzAwYjQzMjQ5ZjU2NzI3MGI2MDc0OWIwL3RhYmxlcmFuZ2U6OWVlNzk3YjA3MDBiNDMyNDlmNTY3MjcwYjYwNzQ5YjBfNy0zLTEtMS00NzE5MA_7288efe7-d67e-4dd9-91ef-ec14449aca9f"
      unitRef="usd">129215000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfMi0xLTEtMS00NzE5MA_f8cf22cb-c9d9-4ba4-81cc-4118a88105ac"
      unitRef="usd">1285000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfMi0zLTEtMS00NzE5MA_4802475c-1f29-46eb-86f9-7eda5be6065c"
      unitRef="usd">1412000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i2b3debd26b59457c8436e5e4076ec943_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfMi01LTEtMS00NzE5MA_66e2cd51-eaca-4606-bca5-c82a1f30e2b0"
      unitRef="usd">1492000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfMy0xLTEtMS00NzE5MA_11e1292a-38ec-4cc7-a458-8548e70ddd4b"
      unitRef="usd">-182000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfMy0zLTEtMS00NzE5MA_db060218-adc7-4e10-8c04-5dfc8eb9f094"
      unitRef="usd">0</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfMy01LTEtMS00NzE5MA_107a358a-a1d5-4d75-a7c8-66e89478ad4f"
      unitRef="usd">332000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfNC0xLTEtMS00NzE5MA_1cbbbc84-25bb-418a-9c80-22241ed6a6f5"
      unitRef="usd">0</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfNC0zLTEtMS00NzE5MA_d8227b46-cfad-4fc9-9112-f70959fbe6ed"
      unitRef="usd">0</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfNC01LTEtMS00NzE5MA_4e5dcee2-eb1f-4ba3-8960-7a9176d8d161"
      unitRef="usd">157000</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <ueic:AllowanceforDoubtfulAccountsReceivableWriteOffsAndEffectOfExchangeRate
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfNS0xLTEtMS00NzE5MA_907e35e7-0a0f-49d9-a360-f6ae9cbdfac2"
      unitRef="usd">146000</ueic:AllowanceforDoubtfulAccountsReceivableWriteOffsAndEffectOfExchangeRate>
    <ueic:AllowanceforDoubtfulAccountsReceivableWriteOffsAndEffectOfExchangeRate
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfNS0zLTEtMS00NzE5MA_c512dab6-a4a2-40f3-b616-e5821643849b"
      unitRef="usd">127000</ueic:AllowanceforDoubtfulAccountsReceivableWriteOffsAndEffectOfExchangeRate>
    <ueic:AllowanceforDoubtfulAccountsReceivableWriteOffsAndEffectOfExchangeRate
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfNS01LTEtMS00NzE5MA_cc5e1cbc-21cc-49bc-a86d-a356a0842cd7"
      unitRef="usd">255000</ueic:AllowanceforDoubtfulAccountsReceivableWriteOffsAndEffectOfExchangeRate>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfNi0xLTEtMS00NzE5MA_97fde498-7085-4ddf-a123-3431d9823beb"
      unitRef="usd">957000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfNi0zLTEtMS00NzE5MA_c5d10831-7911-49b8-ac94-76ee6acb2ab8"
      unitRef="usd">1285000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjIwODQ2NzBhY2Q5NzRhNmFiZDFmZGU3OGJhOGFhOWQ2L3RhYmxlcmFuZ2U6MjA4NDY3MGFjZDk3NGE2YWJkMWZkZTc4YmE4YWE5ZDZfNi01LTEtMS00NzE5MA_fdec6e72-c5cc-4fe6-8939-a8ab9fb30b85"
      unitRef="usd">1412000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <ueic:ScheduleofAccountsReceivablebyMajorCustomersbyReportingSegmentsTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RleHRyZWdpb246MGQ0M2RkNzcwM2ZmNDhjMjlhMTRjNjFkZmNhZDM3NTdfMTEwOQ_dc9e86bf-84aa-438d-8357-e9924625e9fc">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Trade receivables associated with this significant customer that totaled more than 10% of our accounts receivable, net were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:38.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.577%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.577%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.577%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.584%"/&gt;&lt;td style="width:0.1%"/&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="24" style="padding:2px 1pt;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;December 31, &lt;/span&gt;&lt;/td&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="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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2021&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="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Accounts Receivable, Net&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Accounts Receivable, Net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;Comcast Corporation&lt;/span&gt;&lt;/td&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,367&#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 #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;13.7&#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;span style="color:#000000;font-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 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: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: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="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;&#x2014;&#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;span style="color:#000000;font-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: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: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="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt; &#160;&#160;&#160;&#160;Trade receivables associated with this customer did not total more than 10% of our accounts receivable, net for the indicated period.&lt;/span&gt;&lt;/div&gt;</ueic:ScheduleofAccountsReceivablebyMajorCustomersbyReportingSegmentsTableTextBlock>
    <us-gaap:ReceivablesNetCurrent
      contextRef="iab6f67d4be774527826826601915491c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjJkMTc2YzMxMjYyZTRlNjI4ODczNmNkMjhkOGNkNDk1L3RhYmxlcmFuZ2U6MmQxNzZjMzEyNjJlNGU2Mjg4NzM2Y2QyOGQ4Y2Q0OTVfMy0xLTEtMS00ODc2NA_42d73f96-596e-4efb-9b74-4113d17da623"
      unitRef="usd">15367000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iaa46afc7f4ac4360abc0e579adfec0ee_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjJkMTc2YzMxMjYyZTRlNjI4ODczNmNkMjhkOGNkNDk1L3RhYmxlcmFuZ2U6MmQxNzZjMzEyNjJlNGU2Mjg4NzM2Y2QyOGQ4Y2Q0OTVfMy0zLTEtMS00ODc3Mw_43b8de93-c832-4bd5-93b1-c14dcaff2dec"
      unitRef="number">0.137</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i3aa0dd4661c84372b4ccaede8398c658_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjJkMTc2YzMxMjYyZTRlNjI4ODczNmNkMjhkOGNkNDk1L3RhYmxlcmFuZ2U6MmQxNzZjMzEyNjJlNGU2Mjg4NzM2Y2QyOGQ4Y2Q0OTVfMy01LTEtMS00ODc3OQ_495db9e6-00ff-40ee-a8cd-516a5c6f0803"
      unitRef="usd">0</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i862c0896b0704651bc0ad3bf70f30aa9_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85MS9mcmFnOjBkNDNkZDc3MDNmZjQ4YzI5YTE0YzYxZGZjYWQzNzU3L3RhYmxlOjJkMTc2YzMxMjYyZTRlNjI4ODczNmNkMjhkOGNkNDk1L3RhYmxlcmFuZ2U6MmQxNzZjMzEyNjJlNGU2Mjg4NzM2Y2QyOGQ4Y2Q0OTVfMy03LTEtMS00ODc4Nw_6c0d8d0b-c8ad-4c14-960a-062f826b883f"
      unitRef="number">0</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RleHRyZWdpb246MDI4YTM1YzNmMTc4NGVkNTlkMzBmYTlkYTdjOGRmZThfNjIz_a54c1f44-414d-4457-a75b-d96ecb16a29b">Inventories and Significant Suppliers&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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:middle"&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&lt;/span&gt;&lt;/td&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;58,759&#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;52,617&#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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Components&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;25,226&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;25,289&#160;&lt;/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:middle"&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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,616&#160;&lt;/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,102&#160;&lt;/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:middle"&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,461&#160;&lt;/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:middle"&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 style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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;140,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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;134,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Significant Suppliers&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We purchase integrated circuits, components and finished goods from multiple sources. Purchases from the following supplier totaled 10% of our total inventory purchases:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.684%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:22.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.529%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.529%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.529%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.622%"/&gt;&lt;td style="width:0.1%"/&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="36" style="padding:2px 1pt;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;Year Ended December&#160;31,&lt;/span&gt;&lt;/td&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="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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2020&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="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Total Inventory Purchases&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:700;line-height:100%"&gt;$&#160;(thousands)&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 #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:700;line-height:100%"&gt;%&#160;of&#160;Total Inventory Purchases&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:700;line-height:100%"&gt;$&#160;(thousands)&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 #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:700;line-height:100%"&gt;%&#160;of&#160;Total Inventory Purchases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Qorvo International Pte Ltd.&lt;/span&gt;&lt;/div&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;33,293&#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;11.5&#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;span style="color:#000000;font-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 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;38,712&#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;11.8&#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;span style="color:#000000;font-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 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;43,543&#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;14.2&#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;span style="color:#000000;font-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="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Purchases from the following supplier totaled more than 10% of our total accounts payable:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;text-align:justify"&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:44.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.577%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.577%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.584%"/&gt;&lt;td style="width:0.1%"/&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="24" style="padding:2px 1pt;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;December 31,&lt;/span&gt;&lt;/td&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="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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2021&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="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Total Accounts Payable&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Total Accounts Payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Zhejiang Zhen You Electronics Co. Ltd.&lt;/span&gt;&lt;/div&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;&#x2014;&#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: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: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="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;&#x2014;&#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;span style="color:#000000;font-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;border-top:1pt solid #000;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: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 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;9,862&#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;10.6&#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;span style="color:#000000;font-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="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt;   Accounts payable associated with this supplier did not total more than 10% of our accounts payable for the indicated period.&lt;/span&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RleHRyZWdpb246MDI4YTM1YzNmMTc4NGVkNTlkMzBmYTlkYTdjOGRmZThfNjI0_e71c6d0d-4b9c-45e3-b468-787dbc706734">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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:middle"&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&lt;/span&gt;&lt;/td&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;58,759&#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;52,617&#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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Components&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;25,226&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;25,289&#160;&lt;/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:middle"&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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,616&#160;&lt;/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,102&#160;&lt;/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:middle"&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,461&#160;&lt;/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:middle"&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 style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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;140,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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;134,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjM2ZGUzZDZmN2EyZjQyMDE5NjQ0ZThlYTQ4MTNiYzhmL3RhYmxlcmFuZ2U6MzZkZTNkNmY3YTJmNDIwMTk2NDRlOGVhNDgxM2JjOGZfMi0xLTEtMS00NzE5MA_487e510e-4420-47fd-9ffa-dabb56c1af20"
      unitRef="usd">58759000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjM2ZGUzZDZmN2EyZjQyMDE5NjQ0ZThlYTQ4MTNiYzhmL3RhYmxlcmFuZ2U6MzZkZTNkNmY3YTJmNDIwMTk2NDRlOGVhNDgxM2JjOGZfMi0zLTEtMS00NzE5MA_3635b467-2c4c-4939-bd7f-be35f2890af5"
      unitRef="usd">52617000</us-gaap:InventoryRawMaterials>
    <us-gaap:OtherInventory
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjM2ZGUzZDZmN2EyZjQyMDE5NjQ0ZThlYTQ4MTNiYzhmL3RhYmxlcmFuZ2U6MzZkZTNkNmY3YTJmNDIwMTk2NDRlOGVhNDgxM2JjOGZfMy0xLTEtMS00NzE5MA_c7ca7955-b973-4673-a9e8-ea339e67bd00"
      unitRef="usd">25226000</us-gaap:OtherInventory>
    <us-gaap:OtherInventory
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjM2ZGUzZDZmN2EyZjQyMDE5NjQ0ZThlYTQ4MTNiYzhmL3RhYmxlcmFuZ2U6MzZkZTNkNmY3YTJmNDIwMTk2NDRlOGVhNDgxM2JjOGZfMy0zLTEtMS00NzE5MA_4037063d-bceb-4346-8bb9-f1b511b1d878"
      unitRef="usd">25289000</us-gaap:OtherInventory>
    <us-gaap:InventoryWorkInProcess
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjM2ZGUzZDZmN2EyZjQyMDE5NjQ0ZThlYTQ4MTNiYzhmL3RhYmxlcmFuZ2U6MzZkZTNkNmY3YTJmNDIwMTk2NDRlOGVhNDgxM2JjOGZfNC0xLTEtMS00NzE5MA_42a36b52-7459-42d0-99bc-eacfdaf1f73d"
      unitRef="usd">2616000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjM2ZGUzZDZmN2EyZjQyMDE5NjQ0ZThlYTQ4MTNiYzhmL3RhYmxlcmFuZ2U6MzZkZTNkNmY3YTJmNDIwMTk2NDRlOGVhNDgxM2JjOGZfNC0zLTEtMS00NzE5MA_fc15e2d5-b04a-4fa4-8591-a3a74fbaf1d5"
      unitRef="usd">7102000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjM2ZGUzZDZmN2EyZjQyMDE5NjQ0ZThlYTQ4MTNiYzhmL3RhYmxlcmFuZ2U6MzZkZTNkNmY3YTJmNDIwMTk2NDRlOGVhNDgxM2JjOGZfNS0xLTEtMS00NzE5MA_149cc30e-ec40-4e4e-9ae1-834377c66bd3"
      unitRef="usd">53580000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjM2ZGUzZDZmN2EyZjQyMDE5NjQ0ZThlYTQ4MTNiYzhmL3RhYmxlcmFuZ2U6MzZkZTNkNmY3YTJmNDIwMTk2NDRlOGVhNDgxM2JjOGZfNS0zLTEtMS00NzE5MA_e3ba1e87-1bbc-4354-8261-be401b2f4c00"
      unitRef="usd">49461000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryNet
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjM2ZGUzZDZmN2EyZjQyMDE5NjQ0ZThlYTQ4MTNiYzhmL3RhYmxlcmFuZ2U6MzZkZTNkNmY3YTJmNDIwMTk2NDRlOGVhNDgxM2JjOGZfNi0xLTEtMS00NzE5MA_41ad1bb1-c18c-4b0a-8bb1-882bee169c7f"
      unitRef="usd">140181000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjM2ZGUzZDZmN2EyZjQyMDE5NjQ0ZThlYTQ4MTNiYzhmL3RhYmxlcmFuZ2U6MzZkZTNkNmY3YTJmNDIwMTk2NDRlOGVhNDgxM2JjOGZfNi0zLTEtMS00NzE5MA_0c09cf35-a55a-47c5-89bf-3aa30160de02"
      unitRef="usd">134469000</us-gaap:InventoryNet>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RleHRyZWdpb246MDI4YTM1YzNmMTc4NGVkNTlkMzBmYTlkYTdjOGRmZThfMTY0OTI2NzQ0MzQzNw_16b8c60c-317d-4118-9a1a-7dade33ad3be">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We purchase integrated circuits, components and finished goods from multiple sources. Purchases from the following supplier totaled 10% of our total inventory purchases:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.684%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:22.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.529%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.529%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.529%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.622%"/&gt;&lt;td style="width:0.1%"/&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="36" style="padding:2px 1pt;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;Year Ended December&#160;31,&lt;/span&gt;&lt;/td&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="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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2020&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="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Total Inventory Purchases&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:700;line-height:100%"&gt;$&#160;(thousands)&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 #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:700;line-height:100%"&gt;%&#160;of&#160;Total Inventory Purchases&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:700;line-height:100%"&gt;$&#160;(thousands)&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 #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:700;line-height:100%"&gt;%&#160;of&#160;Total Inventory Purchases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Qorvo International Pte Ltd.&lt;/span&gt;&lt;/div&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;33,293&#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;11.5&#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;span style="color:#000000;font-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 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;38,712&#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;11.8&#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;span style="color:#000000;font-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 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;43,543&#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;14.2&#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;span style="color:#000000;font-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="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Purchases from the following supplier totaled more than 10% of our total accounts payable:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;text-align:justify"&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:44.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.577%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.577%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.584%"/&gt;&lt;td style="width:0.1%"/&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="24" style="padding:2px 1pt;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;December 31,&lt;/span&gt;&lt;/td&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="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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:700;line-height:100%"&gt;2021&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="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Total Accounts Payable&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:700;line-height:100%"&gt;$&#160;(thousands)&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:700;line-height:100%"&gt;%&#160;of&#160;Total Accounts Payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Zhejiang Zhen You Electronics Co. Ltd.&lt;/span&gt;&lt;/div&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;&#x2014;&#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: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: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="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;&#x2014;&#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;span style="color:#000000;font-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;border-top:1pt solid #000;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: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 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;9,862&#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;10.6&#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;span style="color:#000000;font-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="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt;   Accounts payable associated with this supplier did not total more than 10% of our accounts payable for the indicated period.&lt;/span&gt;&lt;/div&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <ueic:InventoryPurchases
      contextRef="ia32b072720bd4424be9c33b0104a056f_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjNhZjAwZTIyMGU1MDQ0MWU4ZmZiZGVhMTNjYmYwZDk4L3RhYmxlcmFuZ2U6M2FmMDBlMjIwZTUwNDQxZThmZmJkZWExM2NiZjBkOThfMy0xLTEtMS00ODU3OA_25382bbc-738d-415a-906a-e307a3258e2d"
      unitRef="usd">33293000</ueic:InventoryPurchases>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia32b072720bd4424be9c33b0104a056f_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjNhZjAwZTIyMGU1MDQ0MWU4ZmZiZGVhMTNjYmYwZDk4L3RhYmxlcmFuZ2U6M2FmMDBlMjIwZTUwNDQxZThmZmJkZWExM2NiZjBkOThfMy0zLTEtMS00ODU3OA_fa4736e9-12c9-4f88-b11d-64469acc969d"
      unitRef="number">0.115</us-gaap:ConcentrationRiskPercentage1>
    <ueic:InventoryPurchases
      contextRef="i5ed08d00d7be4f8f822b5cb9fe85c0be_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjNhZjAwZTIyMGU1MDQ0MWU4ZmZiZGVhMTNjYmYwZDk4L3RhYmxlcmFuZ2U6M2FmMDBlMjIwZTUwNDQxZThmZmJkZWExM2NiZjBkOThfMy01LTEtMS00ODY0Mw_8f33eaa8-7211-4498-a0cb-81f45c28dbaa"
      unitRef="usd">38712000</ueic:InventoryPurchases>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i5ed08d00d7be4f8f822b5cb9fe85c0be_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjNhZjAwZTIyMGU1MDQ0MWU4ZmZiZGVhMTNjYmYwZDk4L3RhYmxlcmFuZ2U6M2FmMDBlMjIwZTUwNDQxZThmZmJkZWExM2NiZjBkOThfMy03LTEtMS00ODY0Mw_bce06f86-f88f-4a48-b192-f058b9ee4ba7"
      unitRef="number">0.118</us-gaap:ConcentrationRiskPercentage1>
    <ueic:InventoryPurchases
      contextRef="i030dbbde0a814c67a043ba52ace1d307_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjNhZjAwZTIyMGU1MDQ0MWU4ZmZiZGVhMTNjYmYwZDk4L3RhYmxlcmFuZ2U6M2FmMDBlMjIwZTUwNDQxZThmZmJkZWExM2NiZjBkOThfMy05LTEtMS00ODY0Mw_7e0d6ffa-59ca-45e5-b5ac-1e9f894f8cfb"
      unitRef="usd">43543000</ueic:InventoryPurchases>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i030dbbde0a814c67a043ba52ace1d307_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOjNhZjAwZTIyMGU1MDQ0MWU4ZmZiZGVhMTNjYmYwZDk4L3RhYmxlcmFuZ2U6M2FmMDBlMjIwZTUwNDQxZThmZmJkZWExM2NiZjBkOThfMy0xMS0xLTEtNDg2NDM_87a19686-fdf7-4863-adfe-2bca228db241"
      unitRef="number">0.142</us-gaap:ConcentrationRiskPercentage1>
    <ueic:InventoryPurchases
      contextRef="i352c112b28ee46a9b694f851acc07d7e_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOmRlMDdlY2NlMGM4MjQyZWI4MTQwM2ZiYzQ4OThhYjk5L3RhYmxlcmFuZ2U6ZGUwN2VjY2UwYzgyNDJlYjgxNDAzZmJjNDg5OGFiOTlfMy0xLTEtMS00ODgwMA_2c6c767c-2169-4211-9ebf-06598bceb4c5"
      unitRef="usd">0</ueic:InventoryPurchases>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i352c112b28ee46a9b694f851acc07d7e_D20220101-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOmRlMDdlY2NlMGM4MjQyZWI4MTQwM2ZiYzQ4OThhYjk5L3RhYmxlcmFuZ2U6ZGUwN2VjY2UwYzgyNDJlYjgxNDAzZmJjNDg5OGFiOTlfMy0zLTEtMS00ODgwMA_fbed7cc7-a3a6-4510-bb68-4536965dfa6c"
      unitRef="number">0</us-gaap:ConcentrationRiskPercentage1>
    <ueic:InventoryPurchases
      contextRef="i7e22023328594c5884d8c2bac55f9448_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOmRlMDdlY2NlMGM4MjQyZWI4MTQwM2ZiYzQ4OThhYjk5L3RhYmxlcmFuZ2U6ZGUwN2VjY2UwYzgyNDJlYjgxNDAzZmJjNDg5OGFiOTlfMy01LTEtMS00ODgwMA_8b38a9a8-34da-4a69-809a-c6db4ff2ef4e"
      unitRef="usd">9862000</ueic:InventoryPurchases>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i7e22023328594c5884d8c2bac55f9448_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV85NC9mcmFnOjAyOGEzNWMzZjE3ODRlZDU5ZDMwZmE5ZGE3YzhkZmU4L3RhYmxlOmRlMDdlY2NlMGM4MjQyZWI4MTQwM2ZiYzQ4OThhYjk5L3RhYmxlcmFuZ2U6ZGUwN2VjY2UwYzgyNDJlYjgxNDAzZmJjNDg5OGFiOTlfMy03LTEtMS00ODgwMA_a0755d4a-f67d-4616-9cdb-0f82faed8313"
      unitRef="number">0.106</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90ZXh0cmVnaW9uOjQwN2E1NjAzZDg5OTQxY2ZhMDllMGEwMzgyYzg3OTdmXzEwMDc_268f9775-5dc0-48ae-bf04-6513eab3cca0">Property, Plant, and Equipment, Net&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant, and equipment, net 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: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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;Buildings&lt;/span&gt;&lt;/td&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;18,291&#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;19,830&#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;Computer equipment&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;9,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;9,655&#160;&lt;/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;Furniture and fixtures&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;3,529&#160;&lt;/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,905&#160;&lt;/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;Leasehold and building improvements&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;39,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;41,437&#160;&lt;/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;Machinery and equipment&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;96,947&#160;&lt;/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;102,864&#160;&lt;/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;Software&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;23,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;23,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;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tooling&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;31,898&#160;&lt;/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,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: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;223,377&#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;235,684&#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;Accumulated depreciation&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;(170,474)&lt;/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,906)&lt;/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="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;52,903&#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;69,778&#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;Construction in progress&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;9,888&#160;&lt;/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,869&#160;&lt;/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 property, plant, and equipment, net&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;62,791&#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;74,647&#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="text-align:justify"&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 $19.9 million, &lt;span id="i407a5603d89941cfa09e0a0382c8797f_1386"/&gt;$22.8 million and $23.2 million for the years ended December&#160;31, 2022, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the year ended December&#160;31, 2022, we incurred $2.9 million in impairment charges, recorded in cost of sales, relating to the underutilization of certain property, plant and equipment in our Mexico factory. During the year ended December&#160;31, 2021, we incurred $3.3 million in impairment charges, recorded in cost of sales, relating to the underutilization of property, plant and equipment in our PRC-based factories, as a result of our long-term factory planning strategy of reducing our concentration risk in that region. Impairment charges were immaterial for the year ended December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Construction in progress was as follows:&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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.783%"/&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.668%"/&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;Leasehold and building improvements&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;475&#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 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;100&#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;Machinery and equipment&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;2,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,912&#160;&lt;/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;Software &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;4,862&#160;&lt;/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,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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tooling&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;1,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,168&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;padding:2px 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;417&#160;&lt;/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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total construction in progress&lt;/span&gt;&lt;/div&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;9,888&#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,869&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We expect that most of the assets under construction will be placed into service during the first six months of 2023. We will begin to depreciate the cost of these assets under construction once they are placed into service. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived tangible assets by geographic area, which include property, plant, and equipment, net and operating lease ROU assets, 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;/div&gt;&lt;div style="text-align:justify"&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;United States&lt;/span&gt;&lt;/td&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;16,427&#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;16,804&#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;People's Republic of China&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;42,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,851&#160;&lt;/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;Mexico&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;14,402&#160;&lt;/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,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;/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;Vietnam&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;6,923&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;All other countries&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;3,745&#160;&lt;/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,330&#160;&lt;/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-lived tangible assets&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;84,390&#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;94,494&#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:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="iecdd2819700549a6b918486a8e97e39c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzItMS0xLTEtNDcxOTA_a6c67931-5215-40f8-9784-4760029a2272"
      unitRef="usd">18291000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="if9b54b0b706f4b5a83b7c028c0b336e6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzItMy0xLTEtNDcxOTA_c56b3198-0f8a-4a50-9af0-dfec02a86797"
      unitRef="usd">19830000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i28905249ea7a45edba33d97080a49280_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzMtMS0xLTEtNDcxOTA_46846a59-e8f7-48ee-8d55-1689e21b51df"
      unitRef="usd">9344000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i8eb4626518d14b0d9df567dfb74a4b07_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzMtMy0xLTEtNDcxOTA_b95a6662-d20d-42a5-a9f9-3ade38f736e7"
      unitRef="usd">9655000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i1e0c20f3a59f4574b685f46a703b86a0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzQtMS0xLTEtNDcxOTA_d77f144d-769e-45f8-b21d-5d0f50a9f335"
      unitRef="usd">3529000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="id62c4765177a48f9a3e3b9dc8634b0f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzQtMy0xLTEtNDcxOTA_8d2f773f-6d87-480a-b266-15cacd5b8f0f"
      unitRef="usd">3905000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i6e288f4d203f4aad8b6bbb92722e750b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzUtMS0xLTEtNDcxOTA_2848517a-ef7c-4826-9012-83568e08c72b"
      unitRef="usd">39761000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i327efe4f1dee46ad8960502c8161ba70_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzUtMy0xLTEtNDcxOTA_c9519ae1-ac7a-434b-83fa-b2560bfa58bb"
      unitRef="usd">41437000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i56264a32ac5048a880940b10cd0109f7_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzYtMS0xLTEtNDcxOTA_27dba173-3cad-4189-9b47-5905c85c8ba6"
      unitRef="usd">96947000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i6fa04dd7d0854a59acda9d33bb14a9b8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzYtMy0xLTEtNDcxOTA_f0a4fd22-4a51-4ffb-bf2c-b3abc0a594b1"
      unitRef="usd">102864000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ic595d7901b9349188098a243f3068806_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzctMS0xLTEtNDcxOTA_b9e3a13b-d382-4f50-be39-993cac2d3cf1"
      unitRef="usd">23607000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i86017a606e7d4397bbe888b877442ae9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzctMy0xLTEtNDcxOTA_323cf8f3-e7e2-4c47-acae-6751c8e356b2"
      unitRef="usd">23993000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i18a74e15976d4e639123e563096ca634_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzgtMS0xLTEtNDcxOTA_7f3c7c74-50f9-421b-9bfb-01ad5a3d4b7c"
      unitRef="usd">31898000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="id8ee55a525934c0397fa13065f05d323_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzgtMy0xLTEtNDcxOTA_cfc10fe4-f391-4dcd-9fa6-016e1f610f40"
      unitRef="usd">34000000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzktMS0xLTEtNDcxOTA_d7b0a6ea-33cc-4bd9-b2e5-ae5cae5934d8"
      unitRef="usd">223377000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzktMy0xLTEtNDcxOTA_9dad2dda-6e07-4a4a-b0d0-074334459f47"
      unitRef="usd">235684000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzEwLTEtMS0xLTQ3MTkw_f2346977-383d-4aa6-b06b-3ab1f30275f0"
      unitRef="usd">170474000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzEwLTMtMS0xLTQ3MTkw_f7e5f196-98af-424e-afbe-441e2301cb0f"
      unitRef="usd">165906000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <ueic:PropertyPlantandEquipmentNetExcludingConstructioninProgress
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzExLTEtMS0xLTQ3MTkw_7d42718c-9c3d-459f-bd72-8f3beecc291f"
      unitRef="usd">52903000</ueic:PropertyPlantandEquipmentNetExcludingConstructioninProgress>
    <ueic:PropertyPlantandEquipmentNetExcludingConstructioninProgress
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzExLTMtMS0xLTQ3MTkw_f5703cda-5010-4248-8578-8b4785edb24e"
      unitRef="usd">69778000</ueic:PropertyPlantandEquipmentNetExcludingConstructioninProgress>
    <us-gaap:ConstructionInProgressGross
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzEyLTEtMS0xLTQ3MTkw_265932db-d1fe-4554-a482-94f19908810a"
      unitRef="usd">9888000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzEyLTMtMS0xLTQ3MTkw_4736b273-1ab5-46fb-8ad7-27419149dbf6"
      unitRef="usd">4869000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzEzLTEtMS0xLTQ3MTkw_810d6daa-ca1c-4466-8ab9-aabb0086e37f"
      unitRef="usd">62791000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZToyZjZlMDE0MDhkMWE0ZWY2ODU3YzIxMDAwMWUzYTdmMC90YWJsZXJhbmdlOjJmNmUwMTQwOGQxYTRlZjY4NTdjMjEwMDAxZTNhN2YwXzEzLTMtMS0xLTQ3MTkw_05836c7c-d6f0-4988-ac01-5e3dc8ccd497"
      unitRef="usd">74647000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90ZXh0cmVnaW9uOjQwN2E1NjAzZDg5OTQxY2ZhMDllMGEwMzgyYzg3OTdmXzU0OTc1NTgxNDkxNA_f283fbce-9f8a-451c-b7c1-dd7f049de10c"
      unitRef="usd">19900000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90ZXh0cmVnaW9uOjQwN2E1NjAzZDg5OTQxY2ZhMDllMGEwMzgyYzg3OTdmXzU0OTc1NTgxNDkwNw_9f2dd055-ab55-4528-8588-ee4dfd144078"
      unitRef="usd">22800000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90ZXh0cmVnaW9uOjQwN2E1NjAzZDg5OTQxY2ZhMDllMGEwMzgyYzg3OTdmXzU0OTc1NTgxNDkyMQ_dfe073a7-6aee-430a-ac7e-72a01273a298"
      unitRef="usd">23200000</us-gaap:Depreciation>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90ZXh0cmVnaW9uOjQwN2E1NjAzZDg5OTQxY2ZhMDllMGEwMzgyYzg3OTdmXzEwOTk1MTE2Mjk0MTY_1159a5bc-a281-42f3-8470-f5a919774e75"
      unitRef="usd">2900000</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90ZXh0cmVnaW9uOjQwN2E1NjAzZDg5OTQxY2ZhMDllMGEwMzgyYzg3OTdmXzI1Mw_3b1b65ed-6278-4d12-a815-837d7ffb784c"
      unitRef="usd">3300000</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ConstructionInProgressGross
      contextRef="i6e288f4d203f4aad8b6bbb92722e750b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzItMS0xLTEtNDcxOTA_803e284c-a00c-4826-b9ab-6876b6c2fb4f"
      unitRef="usd">475000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="i327efe4f1dee46ad8960502c8161ba70_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzItMy0xLTEtNDcxOTA_a777286d-2659-4e74-8ada-ea896c3cc55a"
      unitRef="usd">100000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="i56264a32ac5048a880940b10cd0109f7_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzMtMS0xLTEtNDcxOTA_aa21d9e9-df23-4e1c-86f5-1927d676156e"
      unitRef="usd">2282000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="i6fa04dd7d0854a59acda9d33bb14a9b8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzMtMy0xLTEtNDcxOTA_dd4a5b16-eba8-47f5-a365-289c9806ebde"
      unitRef="usd">1912000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="ic595d7901b9349188098a243f3068806_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzQtMS0xLTEtNDcxOTA_b1533433-9e2b-4c0e-8281-e54fa3c3bc0a"
      unitRef="usd">4862000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="i86017a606e7d4397bbe888b877442ae9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzQtMy0xLTEtNDcxOTA_bc55a761-e85c-4261-8971-a3dcae1a130b"
      unitRef="usd">1272000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="i18a74e15976d4e639123e563096ca634_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzUtMS0xLTEtNDcxOTA_64408c4a-a163-40ab-ba1d-9f6ee39ad469"
      unitRef="usd">1827000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="id8ee55a525934c0397fa13065f05d323_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzUtMy0xLTEtNDcxOTA_8a05a6f5-e717-4a46-9ad3-0cc2969bfaf2"
      unitRef="usd">1168000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="ic73c60d28aa148099b0cce7de93885ef_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzYtMS0xLTEtNDcxOTA_7745aa85-2d55-4215-8b38-0d87974d937e"
      unitRef="usd">442000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="i4d3b61cf54f346f8b9914207d762b0ac_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzYtMy0xLTEtNDcxOTA_49093243-e313-4d70-b1ea-71bcaf91e276"
      unitRef="usd">417000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzctMS0xLTEtNDcxOTA_22a57749-91c8-4a5b-97c4-54419b4a8de0"
      unitRef="usd">9888000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTo5MzU5N2Y4MTZkMzY0NjdhODhiMmZjOGI1OTQzNjAxOC90YWJsZXJhbmdlOjkzNTk3ZjgxNmQzNjQ2N2E4OGIyZmM4YjU5NDM2MDE4XzctMy0xLTEtNDcxOTA_07afc96f-a00d-414d-9992-85809ab533ab"
      unitRef="usd">4869000</us-gaap:ConstructionInProgressGross>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90ZXh0cmVnaW9uOjQwN2E1NjAzZDg5OTQxY2ZhMDllMGEwMzgyYzg3OTdmXzk5Mg_b2f49a97-a93b-4760-b47e-bbe1cde2bf68">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived tangible assets by geographic area, which include property, plant, and equipment, net and operating lease ROU assets, 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;/div&gt;&lt;div style="text-align:justify"&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;United States&lt;/span&gt;&lt;/td&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;16,427&#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;16,804&#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;People's Republic of China&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;42,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,851&#160;&lt;/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;Mexico&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;14,402&#160;&lt;/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,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;/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;Vietnam&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;6,923&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;All other countries&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;3,745&#160;&lt;/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,330&#160;&lt;/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-lived tangible assets&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;84,390&#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;94,494&#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:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="i7b9ad042a704460684501ee847909404_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzItMS0xLTEtNDcxOTA_24b45dd2-fe05-440c-9c5f-ef23341c6f54"
      unitRef="usd">16427000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i4e07f925de334d35986239b5b55deaa8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzItMy0xLTEtNDcxOTA_42074114-2ccf-4fe5-830a-24e1b20a0e82"
      unitRef="usd">16804000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i5f66215479ac4b61b069dad41375080a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzMtMS0xLTEtNDcxOTA_f0bb55cb-3b6b-4f70-8fa6-77c57a5d578f"
      unitRef="usd">42893000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i994a22df6c0b44cd9e78af40d6a3d56a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzMtMy0xLTEtNDcxOTA_c8771447-1fba-4d8c-9dac-72b8afb54687"
      unitRef="usd">52851000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i21785e324f044e4c878d3354471f4b7e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzQtMS0xLTEtNDcxOTA_77f3516d-688a-4cf7-b46f-3e57262cff1f"
      unitRef="usd">14402000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i8b7c7782463f483ebc0bc5d3ebe7ec5e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzQtMy0xLTEtNDcxOTA_43e97f27-2027-44e9-85f3-03a425ec5edc"
      unitRef="usd">20509000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="iaa78877ca01448aea1c9ceed7cb1a90c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzUtMS0xLTEtNTcxNjE_47565a40-bb9c-4a1d-b36a-5eaaa5729e11"
      unitRef="usd">6923000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="ife7b3221611344fdbfcef2a5cf37182b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzUtMy0xLTEtNTcxNjE_7c4d628e-9093-42b6-83ae-41c0526d824e"
      unitRef="usd">0</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i66de8fdd7b65471aac45bc23b6eadef1_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzUtMS0xLTEtNDcxOTA_d91ca47f-fc5d-4f08-9ee5-7049efc90eb2"
      unitRef="usd">3745000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i9d679a8352974763b40812d3e9775a7b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzUtMy0xLTEtNDcxOTA_12f90f33-e1a7-49a5-ba6c-f74404e1340a"
      unitRef="usd">4330000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzYtMS0xLTEtNDcxOTA_f214c6c0-162f-4419-99d8-f0cafeca3a01"
      unitRef="usd">84390000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDAvZnJhZzo0MDdhNTYwM2Q4OTk0MWNmYTA5ZTBhMDM4MmM4Nzk3Zi90YWJsZTpmNWE5ODJlNjNjMjA0MTRhOTA1NWY2MzllNmNmYzAzNC90YWJsZXJhbmdlOmY1YTk4MmU2M2MyMDQxNGE5MDU1ZjYzOWU2Y2ZjMDM0XzYtMy0xLTEtNDcxOTA_ae8f11da-cb1b-47c6-90fa-04a4307411ae"
      unitRef="usd">94494000</us-gaap:NoncurrentAssets>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90ZXh0cmVnaW9uOjFlNzQ0Yzg1NGM3NzQzMDdhM2Q5Y2JkZjY4OThlMDBhXzk1OA_14ef12f8-801a-4c26-8488-f4ffb3077275">Goodwill and Intangible Assets, Net&lt;div style="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;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 the carrying amount of goodwill were as follows:&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:86.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.620%"/&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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&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 December 31, 2020&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;48,614&#160;&lt;/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;Foreign exchange effects&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;(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;Balance at December 31, 2021&lt;/span&gt;&lt;/td&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;48,463&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill acquired during the period &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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713&#160;&lt;/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;Foreign exchange effects&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;(91)&lt;/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 31, 2022&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;49,085&#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="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt;  During the year ended December&#160;31, 2022, we recognized $0.7&#160;million of goodwill related to the Qterics, Inc. ("Qterics") acquisition. Refer to Note 21 for further information about this acquisition.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We conducted annual goodwill impairment reviews on December&#160;31, 2022, 2021 and 2020. Based on the analysis performed, we determined that our goodwill was not impaired.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Intangible Assets, Net&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 intangible assets, net were as follows:&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:27.701%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&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:11.765%"/&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:9.572%"/&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:9.572%"/&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:12.350%"/&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:8.118%"/&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="33" style="border-bottom: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:700;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 2px 19pt;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="15" 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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="15" 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:700;line-height:100%"&gt;2021&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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Gross &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Accumulated&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Amortization &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Net &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Gross &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Accumulated&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Amortization &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Net &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&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: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;Capitalized software development costs (2 years)&lt;/span&gt;&lt;/div&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;1,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 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)&lt;/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;1,603&#160;&lt;/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;1,066&#160;&lt;/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;(27)&lt;/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;1,039&#160;&lt;/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;div&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;/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:100%"&gt;(10-15 years)&lt;/span&gt;&lt;/div&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;6,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,080)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,375)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,625&#160;&lt;/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;Developed and core technology &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:100%"&gt;(5-15 years)&lt;/span&gt;&lt;/div&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;4,520&#160;&lt;/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,693)&lt;/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;827&#160;&lt;/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,080&#160;&lt;/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,335)&lt;/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;745&#160;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution rights (10 years)&lt;/span&gt;&lt;/div&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;308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(281)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(269)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;56&#160;&lt;/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;Patents (10 years)&lt;/span&gt;&lt;/div&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;29,388&#160;&lt;/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,790)&lt;/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,598&#160;&lt;/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;24,518&#160;&lt;/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;(9,015)&lt;/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,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;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;Trademarks and trade names&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:100%"&gt;(10 years)&lt;/span&gt;&lt;/div&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;450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(295)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(599)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;201&#160;&lt;/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 intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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;42,653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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,183)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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;24,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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;35,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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;(15,620)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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;20,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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:10.43pt"&gt;This table excludes the gross value of fully amortized intangible assets totaling $43.7 million and $43.2 million on December&#160;31, 2022 and 2021, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 is recorded in selling, general and administrative expenses, except amortization expense related to capitalized software development costs, which is recorded in cost of sales. Amortization expense by statement of operations caption was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year Ended 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;Cost of sales&lt;/span&gt;&lt;/td&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;49&#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;27&#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;/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;Selling, general and administrative expenses&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;3,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,500&#160;&lt;/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 amortization expense&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;4,018&#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;3,990&#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;6,500&#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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimated future annual amortization expense related to our intangible assets at December&#160;31, 2022, is 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;/div&gt;&lt;div style="text-align:justify"&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:86.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.620%"/&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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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;/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;4,821&#160;&lt;/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;4,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;/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;3,705&#160;&lt;/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;3,188&#160;&lt;/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;2,596&#160;&lt;/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;5,615&#160;&lt;/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;24,470&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The remaining weighted average amortization period of our intangible assets at December&#160;31, 2022 is 6.2 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90ZXh0cmVnaW9uOjFlNzQ0Yzg1NGM3NzQzMDdhM2Q5Y2JkZjY4OThlMDBhXzk5NA_14fcb6f7-cdf1-49fc-9e8c-bd8e95545630">&lt;div style="text-align:justify"&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 the carrying amount of goodwill were as follows:&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:86.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.620%"/&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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&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 December 31, 2020&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;48,614&#160;&lt;/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;Foreign exchange effects&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;(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;Balance at December 31, 2021&lt;/span&gt;&lt;/td&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;48,463&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill acquired during the period &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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713&#160;&lt;/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;Foreign exchange effects&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;(91)&lt;/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 31, 2022&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;49,085&#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="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt;  During the year ended December&#160;31, 2022, we recognized $0.7&#160;million of goodwill related to the Qterics, Inc. ("Qterics") acquisition. Refer to Note 21 for further information about this acquisition.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToyMjE0MjI3Zjc0MWE0YzI0YTc5Yzk1NDQxN2E4ZTNlMC90YWJsZXJhbmdlOjIyMTQyMjdmNzQxYTRjMjRhNzljOTU0NDE3YThlM2UwXzEtMS0xLTEtNDcxOTA_4e05e3c5-4278-4be7-85d4-b4d00bf5588f"
      unitRef="usd">48614000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToyMjE0MjI3Zjc0MWE0YzI0YTc5Yzk1NDQxN2E4ZTNlMC90YWJsZXJhbmdlOjIyMTQyMjdmNzQxYTRjMjRhNzljOTU0NDE3YThlM2UwXzItMS0xLTEtNDcxOTA_05e8d688-a89b-469d-b2fd-581b02380575"
      unitRef="usd">-151000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToyMjE0MjI3Zjc0MWE0YzI0YTc5Yzk1NDQxN2E4ZTNlMC90YWJsZXJhbmdlOjIyMTQyMjdmNzQxYTRjMjRhNzljOTU0NDE3YThlM2UwXzMtMS0xLTEtNDcxOTA_4ca82a41-2530-498f-9d90-e2f8ff0cc4de"
      unitRef="usd">48463000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToyMjE0MjI3Zjc0MWE0YzI0YTc5Yzk1NDQxN2E4ZTNlMC90YWJsZXJhbmdlOjIyMTQyMjdmNzQxYTRjMjRhNzljOTU0NDE3YThlM2UwXzQtMS0xLTEtNTA5ODM_03886aea-4032-4ea6-b05e-81153165b80e"
      unitRef="usd">713000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToyMjE0MjI3Zjc0MWE0YzI0YTc5Yzk1NDQxN2E4ZTNlMC90YWJsZXJhbmdlOjIyMTQyMjdmNzQxYTRjMjRhNzljOTU0NDE3YThlM2UwXzQtMS0xLTEtNDcxOTA_2fc76bee-26f5-4fca-a909-bed9341500fa"
      unitRef="usd">-91000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToyMjE0MjI3Zjc0MWE0YzI0YTc5Yzk1NDQxN2E4ZTNlMC90YWJsZXJhbmdlOjIyMTQyMjdmNzQxYTRjMjRhNzljOTU0NDE3YThlM2UwXzUtMS0xLTEtNDcxOTA_4f98cad7-c421-4959-9085-c5da9a2ca47f"
      unitRef="usd">49085000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="ie405f435198c47e0a1416acf92ffe49c_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90ZXh0cmVnaW9uOjFlNzQ0Yzg1NGM3NzQzMDdhM2Q5Y2JkZjY4OThlMDBhXzE2NDkyNjc0NDI5MjE_0c6bc53e-9c4b-4090-8e60-6db54aed0e5b"
      unitRef="usd">700000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90ZXh0cmVnaW9uOjFlNzQ0Yzg1NGM3NzQzMDdhM2Q5Y2JkZjY4OThlMDBhXzk5Ng_afb3fe56-a2a6-4944-88fa-f8fb759330e4">&lt;div style="text-align:justify"&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 intangible assets, net were as follows:&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:27.701%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&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:11.765%"/&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:9.572%"/&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:9.572%"/&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:12.350%"/&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:8.118%"/&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="33" style="border-bottom: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:700;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 2px 19pt;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="15" 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:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="15" 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:700;line-height:100%"&gt;2021&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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Gross &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Accumulated&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Amortization &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Net &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Gross &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Accumulated&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Amortization &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:700;line-height:100%"&gt;Net &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&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: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;Capitalized software development costs (2 years)&lt;/span&gt;&lt;/div&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;1,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 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)&lt;/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;1,603&#160;&lt;/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;1,066&#160;&lt;/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;(27)&lt;/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;1,039&#160;&lt;/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;div&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;/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:100%"&gt;(10-15 years)&lt;/span&gt;&lt;/div&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;6,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,080)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,375)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,625&#160;&lt;/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;Developed and core technology &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:100%"&gt;(5-15 years)&lt;/span&gt;&lt;/div&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;4,520&#160;&lt;/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,693)&lt;/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;827&#160;&lt;/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,080&#160;&lt;/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,335)&lt;/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;745&#160;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution rights (10 years)&lt;/span&gt;&lt;/div&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;308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(281)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(269)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;56&#160;&lt;/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;Patents (10 years)&lt;/span&gt;&lt;/div&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;29,388&#160;&lt;/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,790)&lt;/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,598&#160;&lt;/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;24,518&#160;&lt;/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;(9,015)&lt;/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,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;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;Trademarks and trade names&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:100%"&gt;(10 years)&lt;/span&gt;&lt;/div&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;450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(295)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(599)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;201&#160;&lt;/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 intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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;42,653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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,183)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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;24,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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;35,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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;(15,620)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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;20,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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:10.43pt"&gt;This table excludes the gross value of fully amortized intangible assets totaling $43.7 million and $43.2 million on December&#160;31, 2022 and 2021, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i95f28e8e491a4f7eba712432a21495d3_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzMtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjo5MmRjZDYyN2Q1NTE0ZGI3YjljYzI5NDJiODI5YWE0MV80NA_5ed5b65e-7f0f-477c-8c25-df1f1849991f">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="idc07edc86ee64a9a9c44b2b031d57ec4_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzMtMS0xLTEtNDcxOTA_2f01561b-b622-467e-8247-d835183880b1"
      unitRef="usd">1647000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="idc07edc86ee64a9a9c44b2b031d57ec4_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzMtMy0xLTEtNDcxOTA_2617f8ea-c000-41dd-ae43-a7913dcefd36"
      unitRef="usd">44000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="idc07edc86ee64a9a9c44b2b031d57ec4_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzMtNS0xLTEtNDcxOTA_1a37b658-1029-43ac-9526-3c171a6bf132"
      unitRef="usd">1603000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i19f1f3f7fe5044ae9f239f6e21cd47aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzMtNy0xLTEtNDcxOTA_70cafef4-d439-41c9-a645-a7440515ac17"
      unitRef="usd">1066000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i19f1f3f7fe5044ae9f239f6e21cd47aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzMtOS0xLTEtNDcxOTA_d9fd040e-7c8a-4014-a985-0cc80a99c459"
      unitRef="usd">27000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i19f1f3f7fe5044ae9f239f6e21cd47aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzMtMTEtMS0xLTQ3MTkw_bd97749c-b6e1-4c3b-b29f-a6d8397a9777"
      unitRef="usd">1039000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i3cc76e5f8d954f9ba0aa92f97d32f2f3_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzQtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjoxY2EwZDI5ODQ3NzU0Yzg0OTE4NTk3YWZhNTAzZTM3NF8yOQ_310a37ac-6cde-4abc-bcb8-063976809faf">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ie563a725337a411a86be9033cbf187e5_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzQtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjoxY2EwZDI5ODQ3NzU0Yzg0OTE4NTk3YWZhNTAzZTM3NF8zMg_44c5b56f-7d63-4d6d-889f-544846d18af4">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i438cb62a8a9f4a20b722c970f29e893f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzQtMS0xLTEtNDcxOTA_e7ef40cc-ecfb-45ae-b1a8-be6ccf9cac5c"
      unitRef="usd">6340000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i438cb62a8a9f4a20b722c970f29e893f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzQtMy0xLTEtNDcxOTA_1161f22e-25ac-420f-a094-bbddbda65751"
      unitRef="usd">3080000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i438cb62a8a9f4a20b722c970f29e893f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzQtNS0xLTEtNDcxOTA_1daab030-13ba-4d61-aa01-cd815e0d3df8"
      unitRef="usd">3260000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i16180e8aa884463c987034be7366ea3c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzQtNy0xLTEtNDcxOTA_bebc5979-7af4-46ac-8966-09e62a93bfac"
      unitRef="usd">5000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i16180e8aa884463c987034be7366ea3c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzQtOS0xLTEtNDcxOTA_1e85b081-e6b0-4a56-adbc-44b3bea69b6c"
      unitRef="usd">2375000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i16180e8aa884463c987034be7366ea3c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzQtMTEtMS0xLTQ3MTkw_03602a4a-78f1-49d7-a660-d9981a22c94b"
      unitRef="usd">2625000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i2ba28e20814646e085c109ed12983955_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzUtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjplN2JjZTk2MjVmNDU0MmJiYTExODYyNzQ5ZDBhYjRjYV8zNg_26e6f2eb-82f5-4cdb-830c-53b56fbe352a">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i2ab9abb7a123481181463bfe012bc2c9_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzUtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjplN2JjZTk2MjVmNDU0MmJiYTExODYyNzQ5ZDBhYjRjYV8zOQ_45fee286-6b7f-4498-8486-260b3aef402d">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7d67525acb08437998a1dc19fa783690_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzUtMS0xLTEtNDcxOTA_7f18cfab-40a5-4c73-9b19-dfe1244b5ce4"
      unitRef="usd">4520000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7d67525acb08437998a1dc19fa783690_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzUtMy0xLTEtNDcxOTA_02f5e0a0-17fc-4961-a018-76161c79a388"
      unitRef="usd">3693000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7d67525acb08437998a1dc19fa783690_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzUtNS0xLTEtNDcxOTA_63446f36-dda2-4301-8d8f-7a3f2076ea20"
      unitRef="usd">827000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i069174d03066436cb944064c21117621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzUtNy0xLTEtNDcxOTA_b11e724a-813f-4e9b-892e-d9fa059b7366"
      unitRef="usd">4080000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i069174d03066436cb944064c21117621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzUtOS0xLTEtNDcxOTA_b56fe971-49bc-450c-901b-e2daa5ec3b5f"
      unitRef="usd">3335000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i069174d03066436cb944064c21117621_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzUtMTEtMS0xLTQ3MTkw_6743ebd7-1f10-4aee-a86b-b182d2a6be42"
      unitRef="usd">745000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i885e4fde5ae44c8682c221584d7d45e1_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzYtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjphN2Y3ODcwZGIzYWQ0YmRkYjUzNGNlNDE3YWExMDdjNl8yNQ_16fda371-86d2-4d69-a0ff-1ae434380e4f">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i34259b800be7460fa55037e352748293_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzYtMS0xLTEtNDcxOTA_6c3baf5a-0c40-4102-a229-358a33d6ffb7"
      unitRef="usd">308000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i34259b800be7460fa55037e352748293_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzYtMy0xLTEtNDcxOTA_4b097f3e-a9bb-475a-91ee-a9e04b68abb0"
      unitRef="usd">281000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i34259b800be7460fa55037e352748293_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzYtNS0xLTEtNDcxOTA_5b142f3a-7d59-4c29-a752-f0452c40dff3"
      unitRef="usd">27000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5b5a040e2cc4449f8765aff6cb3535d6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzYtNy0xLTEtNDcxOTA_11c6631d-3a29-41f6-add3-8d5043a1c96c"
      unitRef="usd">325000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5b5a040e2cc4449f8765aff6cb3535d6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzYtOS0xLTEtNDcxOTA_ee7b8a69-3a96-4428-877d-a301a29160de"
      unitRef="usd">269000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i5b5a040e2cc4449f8765aff6cb3535d6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzYtMTEtMS0xLTQ3MTkw_ac92eb47-2fdc-441c-b377-43cdc9b018f8"
      unitRef="usd">56000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="id167accaf55b433db1593f8536475cec_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzctMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjplNjBhNmIzMzk5YzI0YzUwYTJkMjkwYjIwMmVmZTEyM18xMw_eba4e17b-2fac-462c-acce-b254e958a9ef">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i8e2e9592b204493d8c19459615b415a0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzctMS0xLTEtNDcxOTA_1b681e13-ec12-46cc-89a4-4ce835087a86"
      unitRef="usd">29388000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i8e2e9592b204493d8c19459615b415a0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzctMy0xLTEtNDcxOTA_60b5a821-4c5e-43a9-b5ae-5ab9e7cdb3af"
      unitRef="usd">10790000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8e2e9592b204493d8c19459615b415a0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzctNS0xLTEtNDcxOTA_09899f26-845e-4437-ac1e-f2b446dc34d6"
      unitRef="usd">18598000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ifdfc1fa08ae2429baa68f1eaa9b8a114_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzctNy0xLTEtNDcxOTA_55805ea8-01bd-4aef-855a-3be873f5837d"
      unitRef="usd">24518000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ifdfc1fa08ae2429baa68f1eaa9b8a114_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzctOS0xLTEtNDcxOTA_3a774f55-5fee-4b2f-9e06-40224dcff4b3"
      unitRef="usd">9015000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ifdfc1fa08ae2429baa68f1eaa9b8a114_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzctMTEtMS0xLTQ3MTkw_98e051b4-1bca-4466-9241-14cd0e003ec8"
      unitRef="usd">15503000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i204c2856fc4d4e81bfd882305f262e8e_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzgtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjo4OTgxNTNjN2ZlYmE0YTQ2OGRhZTI2YzlkOTNjNjVmMV8zMg_867d8fd3-dac6-4e56-9188-44c4f4327c48">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i3c5bb11cb17348ce85fe7dbf36b70839_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzgtMS0xLTEtNDcxOTA_15fa0cb9-27a5-4ad2-847a-bb55606f0862"
      unitRef="usd">450000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i3c5bb11cb17348ce85fe7dbf36b70839_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzgtMy0xLTEtNDcxOTA_94214903-c1d4-489b-ac0d-bd9d444c1d69"
      unitRef="usd">295000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i3c5bb11cb17348ce85fe7dbf36b70839_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzgtNS0xLTEtNDcxOTA_69cb5e0d-0fde-4561-8fd9-1244e070fc32"
      unitRef="usd">155000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie494389f945c4743861208d4aa7c59fc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzgtNy0xLTEtNDcxOTA_bba5d30b-28f3-419c-94a0-32aee6a0ebda"
      unitRef="usd">800000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie494389f945c4743861208d4aa7c59fc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzgtOS0xLTEtNDcxOTA_b71e7d22-8e06-4937-97c6-f9864959522a"
      unitRef="usd">599000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie494389f945c4743861208d4aa7c59fc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzgtMTEtMS0xLTQ3MTkw_69fa948e-deae-465c-adfb-b7ed8b4c8b57"
      unitRef="usd">201000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzktMS0xLTEtNDcxOTA_fbca94c6-467e-42cd-8135-336fc63c7688"
      unitRef="usd">42653000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzktMy0xLTEtNDcxOTA_d29c8aa7-6510-41bc-bac6-602784914986"
      unitRef="usd">18183000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzktNS0xLTEtNDcxOTA_e671d4dd-6cd9-4041-ba99-300af772812a"
      unitRef="usd">24470000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzktNy0xLTEtNDcxOTA_c29f3acd-d595-4aa1-b7c9-cc90295ac63d"
      unitRef="usd">35789000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzktOS0xLTEtNDcxOTA_6fcce791-5f7e-4f91-be3a-1f906270c05b"
      unitRef="usd">15620000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MGYxN2JlNmM5Yzk0ZmI0OGRlYjg5MmRiNzQ1MDZkZS90YWJsZXJhbmdlOjkwZjE3YmU2YzljOTRmYjQ4ZGViODkyZGI3NDUwNmRlXzktMTEtMS0xLTQ3MTkw_ec8bd154-5a9b-4da9-9a51-77c5446328d7"
      unitRef="usd">20169000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <ueic:FiniteLivedIntangibleAssetsFullyAmortizedGross
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90ZXh0cmVnaW9uOjFlNzQ0Yzg1NGM3NzQzMDdhM2Q5Y2JkZjY4OThlMDBhXzQ0Mw_2a00b614-74fd-4b60-96d8-846971e17bb3"
      unitRef="usd">43700000</ueic:FiniteLivedIntangibleAssetsFullyAmortizedGross>
    <ueic:FiniteLivedIntangibleAssetsFullyAmortizedGross
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90ZXh0cmVnaW9uOjFlNzQ0Yzg1NGM3NzQzMDdhM2Q5Y2JkZjY4OThlMDBhXzQ1MA_1d9df739-95e6-448b-8998-fbc4a6104f90"
      unitRef="usd">43200000</ueic:FiniteLivedIntangibleAssetsFullyAmortizedGross>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90ZXh0cmVnaW9uOjFlNzQ0Yzg1NGM3NzQzMDdhM2Q5Y2JkZjY4OThlMDBhXzk0Nw_3b8702f2-4752-4046-a40d-5e1e63e87056">Amortization expense by statement of operations caption was as follows:&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year Ended 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;Cost of sales&lt;/span&gt;&lt;/td&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;49&#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;27&#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;/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;Selling, general and administrative expenses&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;3,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,500&#160;&lt;/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 amortization expense&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;4,018&#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;3,990&#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;6,500&#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:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i900e714e852e4b32ab2e9b6566f1a1ca_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToxNzY3OTE2YTU3NWI0MWQ5ODYzYjA3NzhmNzgzODg1Ny90YWJsZXJhbmdlOjE3Njc5MTZhNTc1YjQxZDk4NjNiMDc3OGY3ODM4ODU3XzItMS0xLTEtNDcxOTA_313f047f-b4d9-4d42-919f-45db32260627"
      unitRef="usd">49000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ic4549ea8743c46119620c5210e74e8bb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToxNzY3OTE2YTU3NWI0MWQ5ODYzYjA3NzhmNzgzODg1Ny90YWJsZXJhbmdlOjE3Njc5MTZhNTc1YjQxZDk4NjNiMDc3OGY3ODM4ODU3XzItMy0xLTEtNDcxOTA_307eeb16-d55e-48bf-89c9-378cdfd0cc17"
      unitRef="usd">27000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i257991c63ab14175bab6f57bc458a035_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToxNzY3OTE2YTU3NWI0MWQ5ODYzYjA3NzhmNzgzODg1Ny90YWJsZXJhbmdlOjE3Njc5MTZhNTc1YjQxZDk4NjNiMDc3OGY3ODM4ODU3XzItNS0xLTEtNDcxOTA_e0dd8dfb-3956-47f4-88a0-0cf3dd7d421a"
      unitRef="usd">0</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i19c48a6b6cb84ae192e888d703118179_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToxNzY3OTE2YTU3NWI0MWQ5ODYzYjA3NzhmNzgzODg1Ny90YWJsZXJhbmdlOjE3Njc5MTZhNTc1YjQxZDk4NjNiMDc3OGY3ODM4ODU3XzMtMS0xLTEtNDcxOTA_6f037876-024d-43fa-9d52-7e83569ca370"
      unitRef="usd">3969000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i9346289026f14da5ba60e09cad31768f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToxNzY3OTE2YTU3NWI0MWQ5ODYzYjA3NzhmNzgzODg1Ny90YWJsZXJhbmdlOjE3Njc5MTZhNTc1YjQxZDk4NjNiMDc3OGY3ODM4ODU3XzMtMy0xLTEtNDcxOTA_1aade556-d48e-47a3-adee-f07ecf1d6255"
      unitRef="usd">3963000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i37a5c6e48480439db90270d56e1ab38f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToxNzY3OTE2YTU3NWI0MWQ5ODYzYjA3NzhmNzgzODg1Ny90YWJsZXJhbmdlOjE3Njc5MTZhNTc1YjQxZDk4NjNiMDc3OGY3ODM4ODU3XzMtNS0xLTEtNDcxOTA_53039b09-22f8-4c1d-b30c-e46bd9eeb9be"
      unitRef="usd">6500000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToxNzY3OTE2YTU3NWI0MWQ5ODYzYjA3NzhmNzgzODg1Ny90YWJsZXJhbmdlOjE3Njc5MTZhNTc1YjQxZDk4NjNiMDc3OGY3ODM4ODU3XzQtMS0xLTEtNDcxOTA_500dc93e-8463-49a9-894f-19dd4c9229cc"
      unitRef="usd">4018000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToxNzY3OTE2YTU3NWI0MWQ5ODYzYjA3NzhmNzgzODg1Ny90YWJsZXJhbmdlOjE3Njc5MTZhNTc1YjQxZDk4NjNiMDc3OGY3ODM4ODU3XzQtMy0xLTEtNDcxOTA_3a5814c8-75f3-4b31-aaff-e58a29cf5258"
      unitRef="usd">3990000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZToxNzY3OTE2YTU3NWI0MWQ5ODYzYjA3NzhmNzgzODg1Ny90YWJsZXJhbmdlOjE3Njc5MTZhNTc1YjQxZDk4NjNiMDc3OGY3ODM4ODU3XzQtNS0xLTEtNDcxOTA_98a17efd-6fb5-404e-baba-cc875f1d44cb"
      unitRef="usd">6500000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90ZXh0cmVnaW9uOjFlNzQ0Yzg1NGM3NzQzMDdhM2Q5Y2JkZjY4OThlMDBhXzk3MQ_ef91855d-fb1a-461e-a2dd-2097ea9000eb">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimated future annual amortization expense related to our intangible assets at December&#160;31, 2022, is 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;/div&gt;&lt;div style="text-align:justify"&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:86.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.620%"/&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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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;/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;4,821&#160;&lt;/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;4,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;/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;3,705&#160;&lt;/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;3,188&#160;&lt;/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;2,596&#160;&lt;/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;5,615&#160;&lt;/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;24,470&#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:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MjQ5MWFkNDkyYTc0MjgxOTU4ZTMwNmQ1MWZkNDE4NS90YWJsZXJhbmdlOjkyNDkxYWQ0OTJhNzQyODE5NThlMzA2ZDUxZmQ0MTg1XzEtMS0xLTEtNDcxOTA_e8af2385-f41e-42c3-8489-cef5dc5b7dee"
      unitRef="usd">4821000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MjQ5MWFkNDkyYTc0MjgxOTU4ZTMwNmQ1MWZkNDE4NS90YWJsZXJhbmdlOjkyNDkxYWQ0OTJhNzQyODE5NThlMzA2ZDUxZmQ0MTg1XzItMS0xLTEtNDcxOTA_7e75398a-9ae1-40b6-922c-3e8080c200ee"
      unitRef="usd">4545000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MjQ5MWFkNDkyYTc0MjgxOTU4ZTMwNmQ1MWZkNDE4NS90YWJsZXJhbmdlOjkyNDkxYWQ0OTJhNzQyODE5NThlMzA2ZDUxZmQ0MTg1XzMtMS0xLTEtNDcxOTA_f868ad53-bfb6-45d3-8b80-78ae47752e00"
      unitRef="usd">3705000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MjQ5MWFkNDkyYTc0MjgxOTU4ZTMwNmQ1MWZkNDE4NS90YWJsZXJhbmdlOjkyNDkxYWQ0OTJhNzQyODE5NThlMzA2ZDUxZmQ0MTg1XzQtMS0xLTEtNDcxOTA_91b3f06a-be2a-46af-ade7-9336bb355d84"
      unitRef="usd">3188000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MjQ5MWFkNDkyYTc0MjgxOTU4ZTMwNmQ1MWZkNDE4NS90YWJsZXJhbmdlOjkyNDkxYWQ0OTJhNzQyODE5NThlMzA2ZDUxZmQ0MTg1XzUtMS0xLTEtNDcxOTA_1543b46e-8f62-4485-9340-02f580530785"
      unitRef="usd">2596000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MjQ5MWFkNDkyYTc0MjgxOTU4ZTMwNmQ1MWZkNDE4NS90YWJsZXJhbmdlOjkyNDkxYWQ0OTJhNzQyODE5NThlMzA2ZDUxZmQ0MTg1XzYtMS0xLTEtNDcxOTA_f3113484-1e93-4ed4-9e9d-aa888ed0a357"
      unitRef="usd">5615000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90YWJsZTo5MjQ5MWFkNDkyYTc0MjgxOTU4ZTMwNmQ1MWZkNDE4NS90YWJsZXJhbmdlOjkyNDkxYWQ0OTJhNzQyODE5NThlMzA2ZDUxZmQ0MTg1XzctMS0xLTEtNDcxOTA_c5b15b40-e29a-4666-bd6a-365143ff9010"
      unitRef="usd">24470000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1
      contextRef="ic24abf8795024081bcac159e61661cd1_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDYvZnJhZzoxZTc0NGM4NTRjNzc0MzA3YTNkOWNiZGY2ODk4ZTAwYS90ZXh0cmVnaW9uOjFlNzQ0Yzg1NGM3NzQzMDdhM2Q5Y2JkZjY4OThlMDBhXzI3NDg3NzkwNzA3Nzg_9571601f-4b6a-41cb-bcd1-3d4607038b36">P6Y2M12D</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90ZXh0cmVnaW9uOjljNzc0OTI3YjdkNTQ4YWZhYWVjNTBmZGFiYzQyZTI5XzI0MjA_1b61f43c-ed5e-4ae4-8374-446bd7773837">LeasesWe have entered into various operating lease agreements for automobiles, offices and manufacturing facilities throughout the world. At December&#160;31, 2022, our operating leases had remaining lease terms of up to 38 years, including any reasonably probable extensions.&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease balances within our consolidated balance sheets were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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: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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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;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:8pt;font-weight:700;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 #000;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:bottom"&gt;&lt;div style="padding-left:18pt"&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;/div&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;21,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;19,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;/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;Liabilities:&lt;/span&gt;&lt;/td&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;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt"&gt;&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:id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzQtMC0xLTEtNDcxOTA_53fc2cb9-e3ea-4e5a-8f07-03d82852f9f8"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzQtMC0xLTEtNDcxOTA_cd0ce0ab-604d-4ad7-86f6-a0a6371ba975"&gt;Other accrued liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&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;5,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;4,769&#160;&lt;/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 style="padding-left:18pt"&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 operating lease obligations&lt;/span&gt;&lt;/div&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;15,027&#160;&lt;/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,266&#160;&lt;/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;div style="padding-left:18pt;text-indent:22.5pt"&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 liabilities&lt;/span&gt;&lt;/div&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;20,536&#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;19,035&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 expense, including variable and short-term lease costs which were insignificant to the total, operating lease cash flows and supplemental cash flow information were as follows:&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: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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&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,822&#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,508&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&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;4,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,151&#160;&lt;/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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating lease expense&lt;/span&gt;&lt;/td&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;7,296&#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;6,659&#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;Operating cash outflows from operating leases&lt;/span&gt;&lt;/td&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;7,427&#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;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,555&#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;/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;Operating lease right-of-use assets obtained in exchange for lease obligations&lt;/span&gt;&lt;/td&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;8,756&#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;7,017&#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: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;Non-cash release of operating lease obligations &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 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;&#x2014;&#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;654&#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:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt;During the year ended December 31, 2021, we were released from our guarantee of the lease obligation related to our Ohio call center which was sold in February 2020.&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;The weighted average remaining lease liability term and the weighted average discount rate were as follows:&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: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:700;line-height:100%"&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="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:700;line-height:100%"&gt;2022&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:700;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average lease liability term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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.10&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:right;vertical-align: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.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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&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;3.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;span style="color:#000000;font-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.17&#160;&lt;/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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 reconciles the undiscounted cash flows for each of the first five years and thereafter to the operating lease liabilities recognized in our consolidated balance sheet at December&#160;31, 2022. The reconciliation excludes short-term leases that are not recorded on the balance sheet. &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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:bottom"&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,182&#160;&lt;/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;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;5,201&#160;&lt;/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;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;4,201&#160;&lt;/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;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;2,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;/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;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;1,915&#160;&lt;/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;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;2,860&#160;&lt;/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:bottom"&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="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;22,988&#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;Less: imputed interest&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;(2,452)&lt;/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:bottom"&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 liabilities&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;20,536&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2022, we did not have any operating leases that had not yet commenced.&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Prepaid Land Lease&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We operate one factory within the PRC on which the land is leased from the government as of December&#160;31, 2022. This land lease was prepaid to the PRC government at the time our subsidiary occupied the land. We have obtained a land-use right certificate for the land pertaining to this factory. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The factory is located in the city of Yangzhou in the Jiangsu province. The remaining net book value of this operating lease ROU was $2.2 million at December&#160;31, 2022, and is being amortized on a straight-line basis over the remaining term of approximately 36 years. The buildings located on this land had a net book value of $13.4 million at December&#160;31, 2022 and are being depreciated over a remaining weighted average period of approximately 17 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i586f3943f05d4a4faa31a89931e11867_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90ZXh0cmVnaW9uOjljNzc0OTI3YjdkNTQ4YWZhYWVjNTBmZGFiYzQyZTI5XzIxNw_5bf759e3-df88-41a7-bd0b-282490523f52">P38Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <ueic:AssetsAndLiabilitiesLesseeTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90ZXh0cmVnaW9uOjljNzc0OTI3YjdkNTQ4YWZhYWVjNTBmZGFiYzQyZTI5XzI0MDc_a08ae6ea-03d3-4cc4-9eb9-f635b732e75b">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease balances within our consolidated balance sheets were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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: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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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;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:8pt;font-weight:700;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 #000;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:bottom"&gt;&lt;div style="padding-left:18pt"&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;/div&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;21,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;19,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;/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;Liabilities:&lt;/span&gt;&lt;/td&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;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt"&gt;&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:id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzQtMC0xLTEtNDcxOTA_53fc2cb9-e3ea-4e5a-8f07-03d82852f9f8"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzQtMC0xLTEtNDcxOTA_cd0ce0ab-604d-4ad7-86f6-a0a6371ba975"&gt;Other accrued liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&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;5,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;4,769&#160;&lt;/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 style="padding-left:18pt"&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 operating lease obligations&lt;/span&gt;&lt;/div&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;15,027&#160;&lt;/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,266&#160;&lt;/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;div style="padding-left:18pt;text-indent:22.5pt"&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 liabilities&lt;/span&gt;&lt;/div&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;20,536&#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;19,035&#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;</ueic:AssetsAndLiabilitiesLesseeTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzItMS0xLTEtNDcxOTA_cfc83007-8a98-4bfd-a56e-98acc9a245fd"
      unitRef="usd">21599000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzItMy0xLTEtNDcxOTA_037efaac-43a9-49ad-bfcc-4125918f3941"
      unitRef="usd">19847000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzQtMS0xLTEtNDcxOTA_37e55d43-95e2-4be1-8c8b-0822aaa0fd65"
      unitRef="usd">5509000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzQtMy0xLTEtNDcxOTA_299eaed1-51a0-4820-a7b5-b645e539ef42"
      unitRef="usd">4769000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzUtMS0xLTEtNDcxOTA_f18558c2-efc8-4e9b-ac5e-215c2366707c"
      unitRef="usd">15027000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzUtMy0xLTEtNDcxOTA_7884b67e-7f4d-4772-a519-b6f159882ae6"
      unitRef="usd">14266000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzYtMS0xLTEtNDcxOTA_0b9c737e-af10-46eb-896f-5d64645ea24a"
      unitRef="usd">20536000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZToyNTQxOGRmNWRiN2I0MjFhYjgwNjk5YzAxYzliNDVlMy90YWJsZXJhbmdlOjI1NDE4ZGY1ZGI3YjQyMWFiODA2OTljMDFjOWI0NWUzXzYtMy0xLTEtNDcxOTA_ee0d8054-af1b-4902-a752-18701526053f"
      unitRef="usd">19035000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90ZXh0cmVnaW9uOjljNzc0OTI3YjdkNTQ4YWZhYWVjNTBmZGFiYzQyZTI5XzI0MDU_9fb95af2-6543-412e-9e68-931b3f300d3d">&lt;div style="text-align:justify"&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 expense, including variable and short-term lease costs which were insignificant to the total, operating lease cash flows and supplemental cash flow information were as follows:&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: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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&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,822&#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,508&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&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;4,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,151&#160;&lt;/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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating lease expense&lt;/span&gt;&lt;/td&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;7,296&#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;6,659&#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;Operating cash outflows from operating leases&lt;/span&gt;&lt;/td&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;7,427&#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;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,555&#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;/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;Operating lease right-of-use assets obtained in exchange for lease obligations&lt;/span&gt;&lt;/td&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;8,756&#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;7,017&#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: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;Non-cash release of operating lease obligations &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 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;&#x2014;&#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;654&#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:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt;During the year ended December 31, 2021, we were released from our guarantee of the lease obligation related to our Ohio call center which was sold in February 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:LeaseCost
      contextRef="i900e714e852e4b32ab2e9b6566f1a1ca_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzItMS0xLTEtNDcxOTA_252d31c4-3805-49ad-92c1-06339bafa989"
      unitRef="usd">2822000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="ic4549ea8743c46119620c5210e74e8bb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzItMy0xLTEtNDcxOTA_dd3d6f71-b72e-434b-97ad-5e95621d979a"
      unitRef="usd">2508000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i19c48a6b6cb84ae192e888d703118179_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzMtMS0xLTEtNDcxOTA_ab6b7bc6-91de-49e9-9493-32b6511769f7"
      unitRef="usd">4474000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i9346289026f14da5ba60e09cad31768f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzMtMy0xLTEtNDcxOTA_ebfd9fd7-1d59-4a1f-afc4-18300108f8c9"
      unitRef="usd">4151000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzQtMS0xLTEtNDcxOTA_06d556a6-4c12-4e8e-8410-38669661452e"
      unitRef="usd">7296000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzQtMy0xLTEtNDcxOTA_6aa099ad-99f4-4ff7-8d48-4642939159d6"
      unitRef="usd">6659000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeasePayments
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzUtMS0xLTEtNDcxOTA_ed2c2337-6214-4c46-acfd-8085bbb0f497"
      unitRef="usd">7427000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzUtMy0xLTEtNDcxOTA_1daa6a82-fbb0-4834-b072-25a45c86c509"
      unitRef="usd">6555000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzYtMS0xLTEtNDcxOTA_6f14fd2e-3386-484c-8370-da099fb0e23b"
      unitRef="usd">8756000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzYtMy0xLTEtNDcxOTA_ce25c4a8-afed-47fc-a793-5fcf93c29296"
      unitRef="usd">7017000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <ueic:NonCashReleaseOfOperatingLeaseObligations
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzctMS0xLTEtNDcxOTA_0ada1a91-b4d9-4482-aa04-04959a0809af"
      unitRef="usd">0</ueic:NonCashReleaseOfOperatingLeaseObligations>
    <ueic:NonCashReleaseOfOperatingLeaseObligations
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTowZjFiYzNiNGRhNzA0MWI0YjAzZThjZTYxMzVhNmUwMC90YWJsZXJhbmdlOjBmMWJjM2I0ZGE3MDQxYjRiMDNlOGNlNjEzNWE2ZTAwXzctMy0xLTEtNDcxOTA_b4d1bf7c-5de7-402e-b11b-bf63e0fd9d7d"
      unitRef="usd">654000</ueic:NonCashReleaseOfOperatingLeaseObligations>
    <ueic:LesseeLeaseDescriptionTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90ZXh0cmVnaW9uOjljNzc0OTI3YjdkNTQ4YWZhYWVjNTBmZGFiYzQyZTI5XzI0MTI_fac69633-64f8-44db-b364-6fd64000cfb0">&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 remaining lease liability term and the weighted average discount rate were as follows:&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: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:700;line-height:100%"&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="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:700;line-height:100%"&gt;2022&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:700;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average lease liability term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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.10&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:right;vertical-align: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.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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&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;3.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;span style="color:#000000;font-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.17&#160;&lt;/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;</ueic:LesseeLeaseDescriptionTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTo4OTY2MzQ0YTlmZmQ0MDdlOWI5NGM5ZmRkNjRjY2RhZS90YWJsZXJhbmdlOjg5NjYzNDRhOWZmZDQwN2U5Yjk0YzlmZGQ2NGNjZGFlXzItMS0xLTEtNDcxOTA_2d406358-18a5-4ba4-a202-0041ccf7c95e">P5Y1M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTo4OTY2MzQ0YTlmZmQ0MDdlOWI5NGM5ZmRkNjRjY2RhZS90YWJsZXJhbmdlOjg5NjYzNDRhOWZmZDQwN2U5Yjk0YzlmZGQ2NGNjZGFlXzItMy0xLTEtNDcxOTA_5cb00969-7463-499d-9e0d-9aae4813c3d8">P4Y3M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTo4OTY2MzQ0YTlmZmQ0MDdlOWI5NGM5ZmRkNjRjY2RhZS90YWJsZXJhbmdlOjg5NjYzNDRhOWZmZDQwN2U5Yjk0YzlmZGQ2NGNjZGFlXzMtMS0xLTEtNDcxOTA_d8f695ab-1597-4d0f-b514-5a35a532f737"
      unitRef="number">0.0382</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTo4OTY2MzQ0YTlmZmQ0MDdlOWI5NGM5ZmRkNjRjY2RhZS90YWJsZXJhbmdlOjg5NjYzNDRhOWZmZDQwN2U5Yjk0YzlmZGQ2NGNjZGFlXzMtMy0xLTEtNDcxOTA_179bb3a8-5987-4978-a0ef-229772f23dbc"
      unitRef="number">0.0317</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90ZXh0cmVnaW9uOjljNzc0OTI3YjdkNTQ4YWZhYWVjNTBmZGFiYzQyZTI5XzI0MDA_fa0a345d-9465-4e18-a4ba-d7d900f31c99">&lt;div style="text-align:justify"&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 reconciles the undiscounted cash flows for each of the first five years and thereafter to the operating lease liabilities recognized in our consolidated balance sheet at December&#160;31, 2022. The reconciliation excludes short-term leases that are not recorded on the balance sheet. &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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:bottom"&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,182&#160;&lt;/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;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;5,201&#160;&lt;/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;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;4,201&#160;&lt;/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;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;2,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;/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;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;1,915&#160;&lt;/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;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;2,860&#160;&lt;/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:bottom"&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="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;22,988&#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;Less: imputed interest&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;(2,452)&lt;/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:bottom"&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 liabilities&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;20,536&#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:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTpkOWMyNThkNThiYjg0YzVlODM3OWViNjEwMWNmM2E1Ni90YWJsZXJhbmdlOmQ5YzI1OGQ1OGJiODRjNWU4Mzc5ZWI2MTAxY2YzYTU2XzEtMS0xLTEtNDcxOTA_6c9c6337-7e42-4055-8b13-8ffd4549a446"
      unitRef="usd">6182000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTpkOWMyNThkNThiYjg0YzVlODM3OWViNjEwMWNmM2E1Ni90YWJsZXJhbmdlOmQ5YzI1OGQ1OGJiODRjNWU4Mzc5ZWI2MTAxY2YzYTU2XzItMS0xLTEtNDcxOTA_7f41885f-d43b-4d33-aa27-c482e54dcec4"
      unitRef="usd">5201000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTpkOWMyNThkNThiYjg0YzVlODM3OWViNjEwMWNmM2E1Ni90YWJsZXJhbmdlOmQ5YzI1OGQ1OGJiODRjNWU4Mzc5ZWI2MTAxY2YzYTU2XzMtMS0xLTEtNDcxOTA_e7e50261-b3a8-4764-b1e5-dad56978fb2a"
      unitRef="usd">4201000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTpkOWMyNThkNThiYjg0YzVlODM3OWViNjEwMWNmM2E1Ni90YWJsZXJhbmdlOmQ5YzI1OGQ1OGJiODRjNWU4Mzc5ZWI2MTAxY2YzYTU2XzQtMS0xLTEtNDcxOTA_7f12c3c2-c1b0-4fd3-a291-457c2fd72d36"
      unitRef="usd">2629000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTpkOWMyNThkNThiYjg0YzVlODM3OWViNjEwMWNmM2E1Ni90YWJsZXJhbmdlOmQ5YzI1OGQ1OGJiODRjNWU4Mzc5ZWI2MTAxY2YzYTU2XzUtMS0xLTEtNDcxOTA_c43933de-3bd7-46e3-b1e9-dc259cac874f"
      unitRef="usd">1915000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTpkOWMyNThkNThiYjg0YzVlODM3OWViNjEwMWNmM2E1Ni90YWJsZXJhbmdlOmQ5YzI1OGQ1OGJiODRjNWU4Mzc5ZWI2MTAxY2YzYTU2XzYtMS0xLTEtNDcxOTA_0fa98528-ba8e-4bf3-a68b-ab5fd2074f52"
      unitRef="usd">2860000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTpkOWMyNThkNThiYjg0YzVlODM3OWViNjEwMWNmM2E1Ni90YWJsZXJhbmdlOmQ5YzI1OGQ1OGJiODRjNWU4Mzc5ZWI2MTAxY2YzYTU2XzctMS0xLTEtNDcxOTA_6ae1775a-3503-402e-9f98-70ff319a54c3"
      unitRef="usd">22988000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTpkOWMyNThkNThiYjg0YzVlODM3OWViNjEwMWNmM2E1Ni90YWJsZXJhbmdlOmQ5YzI1OGQ1OGJiODRjNWU4Mzc5ZWI2MTAxY2YzYTU2XzgtMS0xLTEtNDcxOTA_935ad09f-55c2-47e8-9b3e-d063c1ee6de9"
      unitRef="usd">2452000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90YWJsZTpkOWMyNThkNThiYjg0YzVlODM3OWViNjEwMWNmM2E1Ni90YWJsZXJhbmdlOmQ5YzI1OGQ1OGJiODRjNWU4Mzc5ZWI2MTAxY2YzYTU2XzktMS0xLTEtNDcxOTA_31a487b5-5edd-4477-ab70-5429103aaef1"
      unitRef="usd">20536000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i3d72931a667e4f11b540001d7929a32e_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90ZXh0cmVnaW9uOjljNzc0OTI3YjdkNTQ4YWZhYWVjNTBmZGFiYzQyZTI5XzIxNTY_56bb9c11-05b8-439d-bbab-1bdbf62ac595"
      unitRef="usd">2200000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i3d72931a667e4f11b540001d7929a32e_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90ZXh0cmVnaW9uOjljNzc0OTI3YjdkNTQ4YWZhYWVjNTBmZGFiYzQyZTI5XzIyNTU_6374f639-5d3b-462c-8457-0b5bdf282290">P36Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i88c1a21647c94367a36f1fd51ecaf272_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90ZXh0cmVnaW9uOjljNzc0OTI3YjdkNTQ4YWZhYWVjNTBmZGFiYzQyZTI5XzIzMTg_8ff9b4dc-fcfb-417e-99b6-70d97ad3c4d5"
      unitRef="usd">13400000</us-gaap:PropertyPlantAndEquipmentNet>
    <ueic:PropertyPlantandEquipmentRemainingDepreciablePeriod
      contextRef="i87204d730be54f1a91ff17bae09e1b56_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMDkvZnJhZzo5Yzc3NDkyN2I3ZDU0OGFmYWFlYzUwZmRhYmM0MmUyOS90ZXh0cmVnaW9uOjljNzc0OTI3YjdkNTQ4YWZhYWVjNTBmZGFiYzQyZTI5XzIzOTc_3c703c32-fc2f-47ff-8333-b5d7dc395073">P17Y</ueic:PropertyPlantandEquipmentRemainingDepreciablePeriod>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzI3MTg_663d5bd4-8cdd-4fbd-bbe4-8e62a99d0bcc">Line of Credit&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our Second Amended and Restated Credit Agreement ("Second Amended Credit Agreement") with U.S. Bank National Association ("U.S. Bank") provides for a $125.0 million revolving line of credit ("Credit Line") that expires on November 1, 2023. We expect to renew our credit agreement with U.S. Bank, for an additional two years, prior to its expiration. The Credit Line may be used for working capital and other general corporate purposes including acquisitions, share repurchases and capital expenditures. Amounts available for borrowing under the Credit Line are reduced by the balance of any outstanding letters of credit, of which there were none at December&#160;31, 2022. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;All obligations under the Credit Line are secured by substantially all of our U.S. personal property and tangible and intangible assets, as well as a guaranty of the Credit Line by our wholly-owned subsidiary, Universal Electronics BV. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the Second Amended Credit Agreement, we may elect to pay interest on the Credit Line based on LIBOR plus an applicable margin (varying from 1.25% to 1.75%) or base rate (based on the prime rate of U.S. Bank or as otherwise specified in the Second Amended Credit Agreement) plus an applicable margin (varying from 0.00% to 0.50%). The applicable margins are calculated quarterly and vary based on our cash flow leverage ratio as set forth in the Second Amended Credit Agreement. The interest rates in effect at December&#160;31, 2022 and 2021 were 5.62% and 1.35%, respectively. There are no commitment fees or unused line fees under the Second Amended Credit Agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 31, 2021, the process of cessation of LIBOR as a reference rate began. Between December 31, 2021 and June 30, 2023, any borrowings under our existing Second Amended Credit Agreement may continue to use LIBOR as the basis for interest rates. If the Second Amended Credit Agreement is amended or replaced during this period, any borrowings will no longer use LIBOR as a reference rate and instead will be subject to an interest rate based on either the Secured Overnight Financing Rate ("SOFR"), which is deemed a replacement benchmark for LIBOR under the Second Amended Credit Agreement, or an alternate index to be agreed upon. After June 30, 2023, all borrowings will be based on SOFR or the alternate index.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Second Amended Credit Agreement includes financial covenants requiring a minimum fixed charge coverage ratio and a maximum cash flow leverage ratio. In addition, the Second Amended Credit Agreement contains other customary affirmative and negative covenants and events of default. As of December&#160;31, 2022, we were in compliance with the covenants and conditions of the Second Amended Credit Agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2022, we had $88.0 million outstanding under the Credit Line. Our total interest expense on borrowings was $3.3 million, $0.9 million and $1.6 million during the years ended December&#160;31, 2022, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="ie24438266f274e9ea82c5f871f98ca0f_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzE4MA_7d3d672e-5710-44c0-a0a7-aca619e23ddd"
      unitRef="usd">125000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityExpirationPeriod
      contextRef="i95eb277d263e4874b5033e6b94dac927_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzE2NDkyNjc0NDQ2MTM_d629c83e-f975-40be-b150-04441f8bf584">P2Y</us-gaap:LineOfCreditFacilityExpirationPeriod>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="i19e7c562929c4745969eb73228bbd1f2_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzU1MA_9d5acb58-1465-4993-8dc8-e5557eddb59e"
      unitRef="usd">0</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="iafa38e9418a94e57a96b6163253da609_D20220101-20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4Xzk0Nw_c485691d-c4a7-4647-8a2d-ff4024fd66bb"
      unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ic15c886383ff4f57bb452d1944432edf_D20220101-20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4Xzk1Mw_06f5d22c-04df-424b-ba3d-c6ab9439c5cc"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i0e7a4c2454ae44b7ab7dbbefce031af0_D20220101-20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzExMTQ_8a119182-028b-473c-868d-a71a209329b8"
      unitRef="number">0.0000</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i94816198758a425b92b89ff7a11aadff_D20220101-20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzExMjA_b2744f95-1f81-4b83-9760-10079390c8b8"
      unitRef="number">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i81e7b74234e44057950557497e520c44_I20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzEzMjA_f9268501-f63a-4c53-a3e6-8685062b1461"
      unitRef="number">0.0562</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i3c98a367a2b2454e8aa076e2594dab17_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzEzMjc_bb6a3645-ed88-4939-a556-440257f7c4ef"
      unitRef="number">0.0135</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeeAmount
      contextRef="iced21a44d1a743348756556ddb536555_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzEzNTU_68b628a0-1d7e-4fb6-b5eb-da0fd855b1ef"
      unitRef="usd">0</us-gaap:LineOfCreditFacilityCommitmentFeeAmount>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzI1Njk_5459ab0f-4b32-4d4c-8e6e-afd43053cf4c"
      unitRef="usd">88000000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:InterestExpenseShortTermBorrowings
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzI2NTI_a53db7d8-a82d-48db-a84d-7cd4b786b8d6"
      unitRef="usd">3300000</us-gaap:InterestExpenseShortTermBorrowings>
    <us-gaap:InterestExpenseShortTermBorrowings
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzI2NTY_24c360f7-b6af-4a20-80cd-80c1f995b76d"
      unitRef="usd">900000</us-gaap:InterestExpenseShortTermBorrowings>
    <us-gaap:InterestExpenseShortTermBorrowings
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTIvZnJhZzowYTAxODM0ODk0M2Q0MzU2YmIxN2E3M2E0NjNkMDdjOC90ZXh0cmVnaW9uOjBhMDE4MzQ4OTQzZDQzNTZiYjE3YTczYTQ2M2QwN2M4XzI2NjM_252122d0-7833-419f-8d50-8aa21c66c513"
      unitRef="usd">1600000</us-gaap:InterestExpenseShortTermBorrowings>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzUzODg_dbc87799-92b2-4264-8bb9-bba9edf65b6e">Income Taxes&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;In 2022, 2021 and 2020, pre-tax income (loss) was attributed to the following jurisdictions:&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;/div&gt;&lt;div&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year Ended 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;Domestic operations&lt;/span&gt;&lt;/td&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;(69,058)&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;(38,024)&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,711)&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;Foreign operations&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;80,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;54,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,616&#160;&lt;/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 pre-tax income (loss)&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;11,393&#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;16,080&#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;43,905&#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 style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes charged to operations was 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;/div&gt;&lt;div&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year Ended 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;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;U.S. federal&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;573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(193)&lt;/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 and local&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;73&#160;&lt;/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;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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/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;Foreign&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;8,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;12,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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 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 current&lt;/span&gt;&lt;/td&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;9,169&#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,463&#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;6,278&#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;Deferred tax (benefit) expense:&lt;/span&gt;&lt;/td&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:#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;U.S. federal&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;230&#160;&lt;/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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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 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 and local&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;36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;Foreign&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;1,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;(2,358)&lt;/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;(945)&lt;/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 deferred&lt;/span&gt;&lt;/td&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;1,817&#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;(1,684)&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;(945)&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 provision for income taxes&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;10,986&#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;10,779&#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,333&#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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net deferred tax assets were comprised of the following:&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;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&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: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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;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;Accrued liabilities&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;&#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;6,483&#160;&lt;/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;Accounts receivable&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;5,657&#160;&lt;/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 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;Amortization of intangible assets&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;5,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;1,412&#160;&lt;/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;Capitalized inventory costs&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;5,060&#160;&lt;/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,183&#160;&lt;/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;Capitalized research &amp;amp; development costs&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;4,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;Depreciation&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;5,067&#160;&lt;/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,289&#160;&lt;/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;Income tax credits&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;17,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;17,513&#160;&lt;/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;Inventory reserves&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;2,258&#160;&lt;/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,621&#160;&lt;/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;Net operating losses&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;3,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,512&#160;&lt;/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;Operating lease obligations&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;4,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;4,469&#160;&lt;/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;Stock-based compensation&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;4,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,569&#160;&lt;/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;Other&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;&#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;4,431&#160;&lt;/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 deferred tax assets&lt;/span&gt;&lt;/td&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;58,155&#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;border-top:1pt solid #000000;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;53,482&#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;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;Accrued liabilities&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;(5,273)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;Accounts receivable&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;&#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;(10,919)&lt;/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;Right of use assets&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;(4,407)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,690)&lt;/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;Other&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;(361)&lt;/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 deferred tax liabilities&lt;/span&gt;&lt;/td&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;(10,041)&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;(15,609)&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;Net deferred tax assets before valuation allowance&lt;/span&gt;&lt;/td&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;48,114&#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;37,873&#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;Less: Valuation allowance&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;(44,596)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(32,538)&lt;/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;Net deferred tax assets&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;3,518&#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,335&#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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes differs from the amount of income tax determined by applying the applicable U.S. statutory federal income tax rate to pre-tax income from operations as a result of the following:&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;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year Ended 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;Tax provision at statutory U.S. rate&lt;/span&gt;&lt;/td&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,392&#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;3,377&#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;9,220&#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;Increase (decrease) in tax provision resulting from:&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="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;Distribution of previously taxed foreign earnings and profits&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;(16,776)&lt;/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 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 research and development credits&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;(715)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,391)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,119)&lt;/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;Foreign permanent benefit&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;(1,620)&lt;/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,137)&lt;/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,842)&lt;/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;Foreign tax rate differential&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;15,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,647)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,595)&lt;/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;Foreign undistributed earnings, net of credits&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;6,486&#160;&lt;/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,902&#160;&lt;/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,319&#160;&lt;/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;Liquidation of Cayman subsidiary&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;Non-deductible items&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;601&#160;&lt;/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,198&#160;&lt;/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,637&#160;&lt;/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;Non-territorial income&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;(2,323)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,993)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,493)&lt;/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;Provision to return&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;(435)&lt;/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;(533)&lt;/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;(343)&lt;/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;Sale of Argentina subsidiary&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;Sale of intangible asset&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;(3,385)&lt;/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 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 and local taxes, net&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;(2,408)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,435)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,932)&lt;/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;Stock-based compensation&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;693&#160;&lt;/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;(616)&lt;/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;(266)&lt;/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;Tax rate change&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;(640)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,527)&lt;/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;Uncertain tax positions&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;&#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;(1,565)&lt;/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;Valuation allowance&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;12,058&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,109&#160;&lt;/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;Withholding tax&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;2,188&#160;&lt;/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,333&#160;&lt;/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,320&#160;&lt;/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;Other&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;(263)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;410&#160;&lt;/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;Tax provision&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;10,986&#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;10,779&#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,333&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2022, we had federal and state Research and Development ("R&amp;amp;D") income tax credit carryforwards of approximately $4.2 million and $12.8 million, respectively. The federal R&amp;amp;D income tax credits begin expiring in 2039. The state R&amp;amp;D income tax credits do not have an expiration date.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2022, we had state and local and foreign net operating loss carryforwards of approximately $50.6 million and $0.7 million, respectively. The state and local and foreign net operating loss carryforwards begin to expire in 2023 and 2027, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2022, we assessed the realizability of the Company's deferred tax assets by considering whether it is more likely than not some portion or all of the deferred tax assets will not be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible. We considered the scheduled reversal of deferred tax liabilities, tax planning strategies and projected future taxable income in making this assessment. Due to cumulative operating losses for the three years ended in 2022, we have recorded a full valuation allowance against our U.S. federal and state deferred tax assets of $24.5 million and $20.1 million, respectively, as we have determined that it is more likely than not that the tax benefits will not be realized in the future. The valuation allowance increased by $12.1 million and $4.6 million during the years ended December&#160;31, 2022 and 2021, respectively. We have an overall deferred tax liability for U.S. federal and state jurisdictions due to having indefinite lived deferred tax liabilities that cannot be used as a source of income to offset the deferred tax assets. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Uncertain Tax Positions&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2022 and 2021, we had unrecognized tax benefits of approximately $3.2 million and $3.0 million, respectively, including interest and penalties. In accordance with accounting guidance, we have elected to classify interest and penalties as components of tax expense. Interest and penalties were immaterial for the year ended December&#160;31, 2022, 2021, and 2020. Interest and penalties are included in the unrecognized tax benefits.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes to our gross unrecognized tax benefits 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;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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 beginning of period&lt;/span&gt;&lt;/td&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;3,001&#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;3,020&#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,094&#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;Additions as a result of tax provisions taken during the current year&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;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;226&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;274&#160;&lt;/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;Foreign currency translation&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;&#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;(13)&lt;/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&#160;&lt;/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;Lapse in statute of limitations&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;(51)&lt;/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;Settlements&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;&#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;(232)&lt;/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 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;Other&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,317)&lt;/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;Balance at end of period&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;3,150&#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;3,001&#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;3,020&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Approximately $3.2 million, $3.0 million and $3.0 million of the total amount of unrecognized tax benefits at December&#160;31, 2022, 2021 and 2020, respectively, if not for the federal and state valuation allowance, would affect the annual effective tax rate, if recognized. We are unaware of any positions for which it is reasonably possible that the total amounts of unrecognized tax benefits will significantly increase within the next twelve months. We do not anticipate a decrease in unrecognized tax benefits within the next twelve months based on federal, state, and foreign statute expirations in various jurisdictions. We have classified uncertain tax positions as non-current income tax liabilities unless expected to be paid within one year.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 income tax returns in the U.S. jurisdiction and in various state and foreign jurisdictions. As of December&#160;31, 2022, the open statutes of limitations for our significant tax jurisdictions are as follows: U.S. federal for 2019 through 2021, state and local for 2018 through 2021, and non-U.S. for 2016 through 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Indefinite Reinvestment Assertion&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Beginning in 2018, the Tax Act generally provides a 100% federal deduction for dividends received from foreign subsidiaries. Nevertheless, companies must still apply the guidance of ASC Topic 740 to account for the tax consequences of outside basis differences and other tax impacts of their investments in foreign subsidiaries, including potential foreign withholding taxes on distributions. For the years ended December&#160;31, 2022, 2021 and 2020, we recorded a deferred tax liability of $0.5 million, $0.9 million and $2.1 million, respectively, relating to state tax and foreign tax withholding liabilities on future distributions.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Coronavirus Aid, Relief and Economic Security Act&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 27, 2020, in response to the COVID-19 pandemic, the Coronavirus Aid, Relief and Economic Security ("CARES") Act was signed into law. The CARES Act provides economic stimulus and relief to address the impact of the COVID-19 pandemic and includes provisions addressing the carryback of net operating losses for specific periods, refunds of alternative minimum tax credits, temporary modifications to limitations placed on the tax deductibility of net interest expenses, and technical amendments for qualified improvement property. Additionally, the CARES Act provides for refundable employee retention tax credits and the deferral of the employer-paid portion of Social Security taxes. For the years ended December&#160;31, 2022, 2021 and 2020, respectively, the Company's income tax provision was not significantly impacted by the CARES Act. The Company will continue to closely monitor any effects from future legislation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;CHIPS and Science Act of 2022&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 CHIPS and Science Act of 2022 ("CHIPS Act") was enacted in the United States. The CHIPS Act will provide financial incentives to the semiconductor industry which are primarily directed at manufacturing activities within the United States for the qualifying property placed in service after December 31, 2022. As we currently outsource our manufacturing, the CHIPS Act is not expected to have a material impact to our consolidated tax provision for the year ending December 31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Inflation Reduction Act of 2022&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Inflation Reduction Act of 2022 ("IRA") was signed into law on August 16, 2022. The bill was meant to address the high inflation rate in the United States through various climate, energy, healthcare and other incentives. These incentives are meant to be paid for by the tax provisions included in the IRA, such as a new 15 percent corporate minimum tax, a 1 percent new &lt;/span&gt;&lt;/div&gt;excise tax on stock buybacks, additional IRS funding to improve taxpayer compliance and others. The IRA provisions are effective for tax years beginning after December 31, 2023.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzUzNjM_8adce998-1f89-46e9-8bef-4c41758010a5">&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;In 2022, 2021 and 2020, pre-tax income (loss) was attributed to the following jurisdictions:&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;/div&gt;&lt;div&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year Ended 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;Domestic operations&lt;/span&gt;&lt;/td&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;(69,058)&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;(38,024)&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,711)&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;Foreign operations&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;80,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;54,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,616&#160;&lt;/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 pre-tax income (loss)&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;11,393&#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;16,080&#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;43,905&#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:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo2OThkZDFjNTBhZDA0MGFlYTA0MjVhZWJkZTIyMTAyNS90YWJsZXJhbmdlOjY5OGRkMWM1MGFkMDQwYWVhMDQyNWFlYmRlMjIxMDI1XzItMS0xLTEtNDcxOTA_a6fb8bda-656f-4aa2-879d-46680a855d02"
      unitRef="usd">-69058000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo2OThkZDFjNTBhZDA0MGFlYTA0MjVhZWJkZTIyMTAyNS90YWJsZXJhbmdlOjY5OGRkMWM1MGFkMDQwYWVhMDQyNWFlYmRlMjIxMDI1XzItMy0xLTEtNDcxOTA_e08473c7-ff78-4c7f-b705-d4ef84f1f05d"
      unitRef="usd">-38024000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo2OThkZDFjNTBhZDA0MGFlYTA0MjVhZWJkZTIyMTAyNS90YWJsZXJhbmdlOjY5OGRkMWM1MGFkMDQwYWVhMDQyNWFlYmRlMjIxMDI1XzItNS0xLTEtNDcxOTA_9dcfcf3b-e549-4515-8264-02e36c0f05a6"
      unitRef="usd">-15711000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo2OThkZDFjNTBhZDA0MGFlYTA0MjVhZWJkZTIyMTAyNS90YWJsZXJhbmdlOjY5OGRkMWM1MGFkMDQwYWVhMDQyNWFlYmRlMjIxMDI1XzMtMS0xLTEtNDcxOTA_fca1b509-c238-4a56-9296-f2603595dad3"
      unitRef="usd">80451000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo2OThkZDFjNTBhZDA0MGFlYTA0MjVhZWJkZTIyMTAyNS90YWJsZXJhbmdlOjY5OGRkMWM1MGFkMDQwYWVhMDQyNWFlYmRlMjIxMDI1XzMtMy0xLTEtNDcxOTA_abbb8e90-3542-482d-93c1-fa542949db4d"
      unitRef="usd">54104000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo2OThkZDFjNTBhZDA0MGFlYTA0MjVhZWJkZTIyMTAyNS90YWJsZXJhbmdlOjY5OGRkMWM1MGFkMDQwYWVhMDQyNWFlYmRlMjIxMDI1XzMtNS0xLTEtNDcxOTA_f139e0e5-e98f-47c1-888f-4daa715233ed"
      unitRef="usd">59616000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo2OThkZDFjNTBhZDA0MGFlYTA0MjVhZWJkZTIyMTAyNS90YWJsZXJhbmdlOjY5OGRkMWM1MGFkMDQwYWVhMDQyNWFlYmRlMjIxMDI1XzQtMS0xLTEtNDcxOTA_59dfb8aa-7ee8-4bb7-8f6d-0337614d619d"
      unitRef="usd">11393000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo2OThkZDFjNTBhZDA0MGFlYTA0MjVhZWJkZTIyMTAyNS90YWJsZXJhbmdlOjY5OGRkMWM1MGFkMDQwYWVhMDQyNWFlYmRlMjIxMDI1XzQtMy0xLTEtNDcxOTA_03100ee6-818a-4c6c-884c-a38444d71bc7"
      unitRef="usd">16080000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo2OThkZDFjNTBhZDA0MGFlYTA0MjVhZWJkZTIyMTAyNS90YWJsZXJhbmdlOjY5OGRkMWM1MGFkMDQwYWVhMDQyNWFlYmRlMjIxMDI1XzQtNS0xLTEtNDcxOTA_d07978f3-7a68-4321-a353-0e5c839a0a05"
      unitRef="usd">43905000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzUzNjg_705e3999-535b-426f-9614-f650807f51a1">&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 provision for income taxes charged to operations was 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;/div&gt;&lt;div&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year Ended 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;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;U.S. federal&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;573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(193)&lt;/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 and local&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;73&#160;&lt;/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;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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/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;Foreign&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;8,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;12,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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 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 current&lt;/span&gt;&lt;/td&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;9,169&#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,463&#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;6,278&#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;Deferred tax (benefit) expense:&lt;/span&gt;&lt;/td&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:#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;U.S. federal&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;230&#160;&lt;/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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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 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 and local&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;36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;Foreign&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;1,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;(2,358)&lt;/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;(945)&lt;/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 deferred&lt;/span&gt;&lt;/td&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;1,817&#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;(1,684)&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;(945)&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 provision for income taxes&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;10,986&#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;10,779&#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,333&#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:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzMtMS0xLTEtNDcxOTA_9e7ecdeb-68a7-4218-b200-f7118ec65afa"
      unitRef="usd">573000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzMtMy0xLTEtNDcxOTA_6e5a3989-5b5e-4124-8dd0-916e2e8c1b9e"
      unitRef="usd">2000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzMtNS0xLTEtNDcxOTA_dc3be6f8-1113-444f-a295-b01d280c8779"
      unitRef="usd">-193000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzQtMS0xLTEtNDcxOTA_a7ea9733-f41e-4e49-bcb1-ee1e883ba772"
      unitRef="usd">73000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzQtMy0xLTEtNDcxOTA_ae27bde8-5644-434d-8f94-91d2a0b1f242"
      unitRef="usd">75000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzQtNS0xLTEtNDcxOTA_49535eeb-d221-4468-ad99-ff6499263f35"
      unitRef="usd">-54000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzUtMS0xLTEtNDcxOTA_e2144b21-2683-4941-bc92-fe503da23c6d"
      unitRef="usd">8523000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzUtMy0xLTEtNDcxOTA_5dc87e0a-abe2-4b25-8d56-251557943936"
      unitRef="usd">12386000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzUtNS0xLTEtNDcxOTA_0646ba20-f36b-4a73-9a5d-de1a5da0839e"
      unitRef="usd">6525000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzYtMS0xLTEtNDcxOTA_d8de3a5d-de98-43d7-8baa-9f38e88fa0b4"
      unitRef="usd">9169000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzYtMy0xLTEtNDcxOTA_87fde0c2-4664-4972-8345-f37ff98c94ee"
      unitRef="usd">12463000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzYtNS0xLTEtNDcxOTA_857528c3-a401-447f-9bd5-624f576f048f"
      unitRef="usd">6278000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzgtMS0xLTEtNDcxOTA_659fa07d-2d62-4f62-8472-301bfec42d48"
      unitRef="usd">230000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzgtMy0xLTEtNDcxOTA_664e37b5-11e8-49ce-b55d-475d26faa3f5"
      unitRef="usd">584000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzgtNS0xLTEtNDcxOTA_4811a22a-22d8-441e-aa6c-4c5dc03641e8"
      unitRef="usd">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzktMS0xLTEtNDcxOTA_94cef45c-286f-4066-ac53-14251d820ff2"
      unitRef="usd">36000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzktMy0xLTEtNDcxOTA_7876979e-2d6c-4372-b660-331dfc2f50a5"
      unitRef="usd">90000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzktNS0xLTEtNDcxOTA_286e6c75-a0c3-41e5-abc3-1fce6555f16b"
      unitRef="usd">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzEwLTEtMS0xLTQ3MTkw_6056ecab-363e-4e30-b4d9-7d1f543ae83f"
      unitRef="usd">1551000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzEwLTMtMS0xLTQ3MTkw_9f400b63-4af3-4b79-9cb9-d66a260254e7"
      unitRef="usd">-2358000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzEwLTUtMS0xLTQ3MTkw_e7a3a09f-9baa-4828-a6da-bad8d2cb46ae"
      unitRef="usd">-945000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzExLTEtMS0xLTQ3MTkw_44e05eaf-42a5-47b7-9ea0-cea30367c539"
      unitRef="usd">1817000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzExLTMtMS0xLTQ3MTkw_e6883a0d-e9f8-478c-b0dc-4b4cb11ecb98"
      unitRef="usd">-1684000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzExLTUtMS0xLTQ3MTkw_d9e9d24d-6cf6-4391-8f5d-4e3ab635a334"
      unitRef="usd">-945000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzEyLTEtMS0xLTQ3MTkw_1bd0cad4-9327-45b4-a8c5-7ba7962b5a29"
      unitRef="usd">10986000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzEyLTMtMS0xLTQ3MTkw_5e35b53b-46cf-4c14-8554-fc670e404eca"
      unitRef="usd">10779000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTozN2U5YWY2YzhhZmM0ZmUxYjc2Njk0YzNmZWQwZDc5Ny90YWJsZXJhbmdlOjM3ZTlhZjZjOGFmYzRmZTFiNzY2OTRjM2ZlZDBkNzk3XzEyLTUtMS0xLTQ3MTkw_58084b78-d7fb-4d39-9cfa-02d38681fbd7"
      unitRef="usd">5333000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzUzNzA_15fd08e5-525b-4f62-9781-8da0465800a2">&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;Net deferred tax assets were comprised of the following:&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;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&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: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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;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;Accrued liabilities&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;&#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;6,483&#160;&lt;/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;Accounts receivable&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;5,657&#160;&lt;/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 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;Amortization of intangible assets&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;5,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;1,412&#160;&lt;/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;Capitalized inventory costs&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;5,060&#160;&lt;/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,183&#160;&lt;/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;Capitalized research &amp;amp; development costs&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;4,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;Depreciation&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;5,067&#160;&lt;/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,289&#160;&lt;/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;Income tax credits&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;17,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;17,513&#160;&lt;/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;Inventory reserves&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;2,258&#160;&lt;/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,621&#160;&lt;/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;Net operating losses&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;3,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,512&#160;&lt;/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;Operating lease obligations&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;4,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;4,469&#160;&lt;/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;Stock-based compensation&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;4,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,569&#160;&lt;/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;Other&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;&#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;4,431&#160;&lt;/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 deferred tax assets&lt;/span&gt;&lt;/td&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;58,155&#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;border-top:1pt solid #000000;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;53,482&#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;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;Accrued liabilities&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;(5,273)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;Accounts receivable&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;&#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;(10,919)&lt;/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;Right of use assets&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;(4,407)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,690)&lt;/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;Other&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;(361)&lt;/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 deferred tax liabilities&lt;/span&gt;&lt;/td&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;(10,041)&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;(15,609)&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;Net deferred tax assets before valuation allowance&lt;/span&gt;&lt;/td&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;48,114&#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;37,873&#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;Less: Valuation allowance&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;(44,596)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(32,538)&lt;/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;Net deferred tax assets&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;3,518&#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,335&#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:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzMtMS0xLTEtNDcxOTA_dddbaf44-a69e-46c9-8731-21fd451a6983"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzMtMy0xLTEtNDcxOTA_194bd946-0d78-4488-ba87-772efec59bd1"
      unitRef="usd">6483000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <ueic:DeferredTaxAssetsAccountsReceivable
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzQtMS0xLTEtNTcxMjc_c8d26d02-8f1b-4319-a510-a927fcb20803"
      unitRef="usd">5657000</ueic:DeferredTaxAssetsAccountsReceivable>
    <ueic:DeferredTaxAssetsAccountsReceivable
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzQtMy0xLTEtNTcxMjc_9309118f-d266-479d-896e-c7b94f7f30c8"
      unitRef="usd">0</ueic:DeferredTaxAssetsAccountsReceivable>
    <ueic:DeferredTaxAssetsAmortizationofIntangibleAssets
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzQtMS0xLTEtNDcxOTA_49d86fdc-fc74-4ee1-9abd-8034aa980106"
      unitRef="usd">5977000</ueic:DeferredTaxAssetsAmortizationofIntangibleAssets>
    <ueic:DeferredTaxAssetsAmortizationofIntangibleAssets
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzQtMy0xLTEtNDcxOTA_2e6f9894-62ce-4f8f-a9f1-f5df7a0ed034"
      unitRef="usd">1412000</ueic:DeferredTaxAssetsAmortizationofIntangibleAssets>
    <ueic:DeferredTaxAssetsCapitalizedInventoryCosts
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzUtMS0xLTEtNDcxOTA_83b0c1d9-bec7-45ae-a1ad-7ca05236883e"
      unitRef="usd">5060000</ueic:DeferredTaxAssetsCapitalizedInventoryCosts>
    <ueic:DeferredTaxAssetsCapitalizedInventoryCosts
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzUtMy0xLTEtNDcxOTA_25478cd9-b2bf-4d82-8dd3-db7d0914f25c"
      unitRef="usd">4183000</ueic:DeferredTaxAssetsCapitalizedInventoryCosts>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzctMS0xLTEtNTcxNDA_d351e777-3a18-496a-9f85-9ee97a187363"
      unitRef="usd">4632000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzctMy0xLTEtNTcxNDA_0f012195-213c-4704-a600-0905f96f9120"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzYtMS0xLTEtNDcxOTA_29fa32a1-b0b6-4bef-9b13-fa4ecd03b9dd"
      unitRef="usd">5067000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzYtMy0xLTEtNDcxOTA_48f5389b-e9f3-4682-b315-a87353ebc253"
      unitRef="usd">4289000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzctMS0xLTEtNDcxOTA_9e494bad-b5e9-44e4-a454-0c4bfb1f2d41"
      unitRef="usd">17234000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzctMy0xLTEtNDcxOTA_6d6ab8ef-e07e-41d0-82f3-6e88b83927b0"
      unitRef="usd">17513000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzgtMS0xLTEtNDcxOTA_ccfae2ae-f928-483f-bce8-b031c13f2b43"
      unitRef="usd">2258000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzgtMy0xLTEtNDcxOTA_bff3c8c7-012d-4289-b3a8-15da6748cb2a"
      unitRef="usd">2621000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzktMS0xLTEtNDcxOTA_65b83e81-fdc6-4c6c-8967-ea58d33b82f6"
      unitRef="usd">3770000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzktMy0xLTEtNDcxOTA_d78710b2-67ca-42b3-b897-fd9af40c6a7d"
      unitRef="usd">3512000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <ueic:DeferredTaxAssetsLeasingArrangements
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzEwLTEtMS0xLTQ3MTkw_2a8e97c6-3946-452b-b310-2dad02369d57"
      unitRef="usd">4212000</ueic:DeferredTaxAssetsLeasingArrangements>
    <ueic:DeferredTaxAssetsLeasingArrangements
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzEwLTMtMS0xLTQ3MTkw_51d98072-e043-42c1-97da-1fdf95d541bc"
      unitRef="usd">4469000</ueic:DeferredTaxAssetsLeasingArrangements>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzExLTEtMS0xLTQ3MTkw_548af6eb-8cb2-4ee0-9b56-afeb32cc127e"
      unitRef="usd">4288000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzExLTMtMS0xLTQ3MTkw_7aa703cb-516c-4fe0-9f0f-fbbda7c7ebfa"
      unitRef="usd">4569000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzEyLTEtMS0xLTQ3MTkw_2f91f70e-a52d-4cca-8545-9508cd89924a"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzEyLTMtMS0xLTQ3MTkw_f5a95517-3c5c-454f-bd35-fe401382fb74"
      unitRef="usd">4431000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzEzLTEtMS0xLTQ3MTkw_0356e021-0121-427c-9302-2407f703f1e2"
      unitRef="usd">58155000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzEzLTMtMS0xLTQ3MTkw_5a8434bd-ebb6-439e-8ea8-0d0d7f689755"
      unitRef="usd">53482000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpenseReservesAndAccruals
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzE1LTEtMS0xLTQ3MTkw_114b74a1-bdac-4d84-80c6-4409370061da"
      unitRef="usd">5273000</us-gaap:DeferredTaxLiabilitiesDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpenseReservesAndAccruals
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzE1LTMtMS0xLTQ3MTkw_c761ea7e-765e-4469-9dab-d6c503bd9acf"
      unitRef="usd">0</us-gaap:DeferredTaxLiabilitiesDeferredExpenseReservesAndAccruals>
    <ueic:DeferredTaxLiabilitiesAccountsReceivable
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzE2LTEtMS0xLTQ3MTkw_b0edd1b5-3562-4304-9e6f-7623186786ca"
      unitRef="usd">0</ueic:DeferredTaxLiabilitiesAccountsReceivable>
    <ueic:DeferredTaxLiabilitiesAccountsReceivable
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzE2LTMtMS0xLTQ3MTkw_8e11267a-c935-49f0-8cef-7f72a7502527"
      unitRef="usd">10919000</ueic:DeferredTaxLiabilitiesAccountsReceivable>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzE3LTEtMS0xLTQ3MTkw_c6139763-1657-42c7-9f0f-f6a45b2e132f"
      unitRef="usd">4407000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzE3LTMtMS0xLTQ3MTkw_34f3c99d-103c-4e07-838c-b63469ac0828"
      unitRef="usd">4690000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzE4LTEtMS0xLTQ3MTkw_2bb3bb5d-755b-4521-8061-e04f60cdeaa0"
      unitRef="usd">361000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzE4LTMtMS0xLTQ3MTkw_54d9bf6f-416d-4cbe-9961-afe59241614d"
      unitRef="usd">0</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzE5LTEtMS0xLTQ3MTkw_472d1326-311e-4470-ac58-8ac2de91fd93"
      unitRef="usd">10041000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzE5LTMtMS0xLTQ3MTkw_040f5ef7-1b2e-4147-9fd2-d1c7e275bdee"
      unitRef="usd">15609000</us-gaap:DeferredIncomeTaxLiabilities>
    <ueic:DeferredTaxAssetsNetOfDeferredTaxLiabilitiesBeforeValuationAllowance
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzIwLTEtMS0xLTQ3MTkw_75d6ee46-500c-4773-baa5-a9bb29e219a0"
      unitRef="usd">48114000</ueic:DeferredTaxAssetsNetOfDeferredTaxLiabilitiesBeforeValuationAllowance>
    <ueic:DeferredTaxAssetsNetOfDeferredTaxLiabilitiesBeforeValuationAllowance
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzIwLTMtMS0xLTQ3MTkw_b9bc55e4-0188-45fd-847f-019f837ac1e2"
      unitRef="usd">37873000</ueic:DeferredTaxAssetsNetOfDeferredTaxLiabilitiesBeforeValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzIxLTEtMS0xLTQ3MTkw_86bf71a1-d6e6-4958-8e6a-76eac29e8fcc"
      unitRef="usd">44596000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzIxLTMtMS0xLTQ3MTkw_58ead27e-c4a7-4167-b438-bf22386be78d"
      unitRef="usd">32538000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzIyLTEtMS0xLTQ3MTkw_650901b2-0c61-42aa-8b16-6214b14c0397"
      unitRef="usd">3518000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTo1MWYzNGViNGI0ODg0YThkOGNhZDBhYjlmNTc5NmE4Yi90YWJsZXJhbmdlOjUxZjM0ZWI0YjQ4ODRhOGQ4Y2FkMGFiOWY1Nzk2YThiXzIyLTMtMS0xLTQ3MTkw_88419e30-ac17-4e44-b1d6-1efbd653dea7"
      unitRef="usd">5335000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzUzOTk_4d970ee9-ea58-4913-a127-bac16cfb24f5">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes differs from the amount of income tax determined by applying the applicable U.S. statutory federal income tax rate to pre-tax income from operations as a result of the following:&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;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year Ended 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;Tax provision at statutory U.S. rate&lt;/span&gt;&lt;/td&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,392&#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;3,377&#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;9,220&#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;Increase (decrease) in tax provision resulting from:&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="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;Distribution of previously taxed foreign earnings and profits&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;(16,776)&lt;/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 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 research and development credits&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;(715)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,391)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,119)&lt;/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;Foreign permanent benefit&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;(1,620)&lt;/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,137)&lt;/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,842)&lt;/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;Foreign tax rate differential&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;15,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,647)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,595)&lt;/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;Foreign undistributed earnings, net of credits&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;6,486&#160;&lt;/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,902&#160;&lt;/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,319&#160;&lt;/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;Liquidation of Cayman subsidiary&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;Non-deductible items&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;601&#160;&lt;/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,198&#160;&lt;/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,637&#160;&lt;/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;Non-territorial income&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;(2,323)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,993)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,493)&lt;/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;Provision to return&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;(435)&lt;/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;(533)&lt;/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;(343)&lt;/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;Sale of Argentina subsidiary&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;Sale of intangible asset&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;(3,385)&lt;/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 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 and local taxes, net&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;(2,408)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,435)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,932)&lt;/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;Stock-based compensation&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;693&#160;&lt;/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;(616)&lt;/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;(266)&lt;/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;Tax rate change&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;(640)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,527)&lt;/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;Uncertain tax positions&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;&#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;(1,565)&lt;/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;Valuation allowance&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;12,058&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,109&#160;&lt;/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;Withholding tax&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;2,188&#160;&lt;/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,333&#160;&lt;/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,320&#160;&lt;/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;Other&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;(263)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;410&#160;&lt;/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;Tax provision&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;10,986&#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;10,779&#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,333&#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:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzItMS0xLTEtNDcxOTA_803a23c6-1594-4f07-b431-09618485d1bb"
      unitRef="usd">2392000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzItMy0xLTEtNDcxOTA_9676cbcd-c59d-4158-af4a-1212317d7164"
      unitRef="usd">3377000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzItNS0xLTEtNDcxOTA_05243189-1e81-4781-8d9a-8dd2bc692de9"
      unitRef="usd">9220000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <ueic:EffectiveIncomeTaxRateReconciliationDistributionOfRepatriatedForeignEarningsAmount
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzQtMS0xLTEtNTg3MDA_dac82a7a-1473-48ab-9196-18a9905603dd"
      unitRef="usd">-16776000</ueic:EffectiveIncomeTaxRateReconciliationDistributionOfRepatriatedForeignEarningsAmount>
    <ueic:EffectiveIncomeTaxRateReconciliationDistributionOfRepatriatedForeignEarningsAmount
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzQtMy0xLTEtNTg3MDA_cc3c381e-82a9-4ae8-b85e-4e473a4c8188"
      unitRef="usd">0</ueic:EffectiveIncomeTaxRateReconciliationDistributionOfRepatriatedForeignEarningsAmount>
    <ueic:EffectiveIncomeTaxRateReconciliationDistributionOfRepatriatedForeignEarningsAmount
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzQtNS0xLTEtNTg3MDA_d63b0553-b29d-40b8-b6e0-8de059b37c3c"
      unitRef="usd">0</ueic:EffectiveIncomeTaxRateReconciliationDistributionOfRepatriatedForeignEarningsAmount>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzQtMS0xLTEtNDcxOTA_e65efde9-33dd-4b4b-b378-ae08107fda09"
      unitRef="usd">715000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzQtMy0xLTEtNDcxOTA_5b4129fd-6c72-4226-a762-08a0809fd9b2"
      unitRef="usd">1391000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzQtNS0xLTEtNDcxOTA_a640f9e5-08dd-484c-89b6-ae44f4750926"
      unitRef="usd">2119000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxSettlementsForeign
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzUtMS0xLTEtNDcxOTA_5683edb9-9fbe-4e4b-9528-3bc9dba1d797"
      unitRef="usd">-1620000</us-gaap:IncomeTaxReconciliationTaxSettlementsForeign>
    <us-gaap:IncomeTaxReconciliationTaxSettlementsForeign
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzUtMy0xLTEtNDcxOTA_010ea54a-e19d-4eb3-8fe5-2943b7fc4f02"
      unitRef="usd">-1137000</us-gaap:IncomeTaxReconciliationTaxSettlementsForeign>
    <us-gaap:IncomeTaxReconciliationTaxSettlementsForeign
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzUtNS0xLTEtNDcxOTA_59cab94d-a439-4542-b621-fa48bb52bac7"
      unitRef="usd">-2842000</us-gaap:IncomeTaxReconciliationTaxSettlementsForeign>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzYtMS0xLTEtNDcxOTA_6b1e74a8-c6e9-4608-8979-f95ac55717d3"
      unitRef="usd">15133000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzYtMy0xLTEtNDcxOTA_fd0e7dc9-df1d-413d-bda3-a5a9b3dfe6e2"
      unitRef="usd">-2647000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzYtNS0xLTEtNDcxOTA_4b34abc4-c5e9-482f-b986-07a3cd467939"
      unitRef="usd">-1595000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzctMS0xLTEtNDcxOTA_1acd68c6-ed7f-49f2-9b45-839ef39d25bb"
      unitRef="usd">6486000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzctMy0xLTEtNDcxOTA_abc5381b-deb1-4229-b269-ee27f89e1001"
      unitRef="usd">6902000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzctNS0xLTEtNDcxOTA_d19c222a-889f-4bf8-a5ee-36182429d962"
      unitRef="usd">3319000</us-gaap:IncomeTaxReconciliationRepatriationOfForeignEarnings>
    <ueic:EffectiveIncomeTaxRateReconciliationLiquidationOfSubsidiaryAmount
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzgtMS0xLTEtNDcxOTA_a0c70068-7475-4391-aff9-fdf9ce5316f5"
      unitRef="usd">0</ueic:EffectiveIncomeTaxRateReconciliationLiquidationOfSubsidiaryAmount>
    <ueic:EffectiveIncomeTaxRateReconciliationLiquidationOfSubsidiaryAmount
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzgtMy0xLTEtNDcxOTA_39ed71fa-2a16-46ee-92ee-0742e35d0859"
      unitRef="usd">745000</ueic:EffectiveIncomeTaxRateReconciliationLiquidationOfSubsidiaryAmount>
    <ueic:EffectiveIncomeTaxRateReconciliationLiquidationOfSubsidiaryAmount
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzgtNS0xLTEtNDcxOTA_2a4da7d2-102b-4667-8fe9-82cd2c36121f"
      unitRef="usd">0</ueic:EffectiveIncomeTaxRateReconciliationLiquidationOfSubsidiaryAmount>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzktMS0xLTEtNDcxOTA_cca73151-ce13-4fd5-a2fa-0b3b17bf5573"
      unitRef="usd">601000</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzktMy0xLTEtNDcxOTA_fc146e95-a67a-4227-8bd9-849d2e0dde99"
      unitRef="usd">1198000</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzktNS0xLTEtNDcxOTA_30292cdf-8001-43cd-abb8-5e1167dba064"
      unitRef="usd">1637000</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationDeductionsExtraterritorialIncomeExclusion
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEwLTEtMS0xLTQ3MTkw_d412b6e7-7ec7-4c4c-8de8-3c4bba0b1412"
      unitRef="usd">2323000</us-gaap:IncomeTaxReconciliationDeductionsExtraterritorialIncomeExclusion>
    <us-gaap:IncomeTaxReconciliationDeductionsExtraterritorialIncomeExclusion
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEwLTMtMS0xLTQ3MTkw_e4edc214-fe4e-4922-af95-62e55f4b4382"
      unitRef="usd">2993000</us-gaap:IncomeTaxReconciliationDeductionsExtraterritorialIncomeExclusion>
    <us-gaap:IncomeTaxReconciliationDeductionsExtraterritorialIncomeExclusion
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEwLTUtMS0xLTQ3MTkw_4ad5902c-2e3a-4b4f-a727-63f1636f88bf"
      unitRef="usd">2493000</us-gaap:IncomeTaxReconciliationDeductionsExtraterritorialIncomeExclusion>
    <ueic:EffectiveIncomeTaxRateReconciliationReturnToProvision
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzExLTEtMS0xLTQ3MTkw_05acc725-83f5-4199-8cc5-85e61162db7e"
      unitRef="usd">-435000</ueic:EffectiveIncomeTaxRateReconciliationReturnToProvision>
    <ueic:EffectiveIncomeTaxRateReconciliationReturnToProvision
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzExLTMtMS0xLTQ3MTkw_4c2f2aca-810f-47be-b585-ad34d85b5ae2"
      unitRef="usd">-533000</ueic:EffectiveIncomeTaxRateReconciliationReturnToProvision>
    <ueic:EffectiveIncomeTaxRateReconciliationReturnToProvision
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzExLTUtMS0xLTQ3MTkw_44f170b8-1cf8-4177-bdde-93c0c1872448"
      unitRef="usd">-343000</ueic:EffectiveIncomeTaxRateReconciliationReturnToProvision>
    <us-gaap:IncomeTaxReconciliationDispositionOfBusiness
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEzLTEtMS0xLTU4NzE4_b8f7d877-a051-471b-8e67-8d15a2a2656c"
      unitRef="usd">0</us-gaap:IncomeTaxReconciliationDispositionOfBusiness>
    <us-gaap:IncomeTaxReconciliationDispositionOfBusiness
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEzLTMtMS0xLTU4NzE4_ce668c50-93c7-4d30-b69a-03a691330039"
      unitRef="usd">2084000</us-gaap:IncomeTaxReconciliationDispositionOfBusiness>
    <us-gaap:IncomeTaxReconciliationDispositionOfBusiness
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEzLTUtMS0xLTU4NzE4_3fd11055-7e7b-4ca3-93c0-64e2f62da6d9"
      unitRef="usd">0</us-gaap:IncomeTaxReconciliationDispositionOfBusiness>
    <ueic:EffectiveIncomeTaxReconciliationSaleOfIntangibleAssetAmount
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEzLTEtMS0xLTU3MTg0_7614074b-5688-47b7-a98d-425fd46596c3"
      unitRef="usd">-3385000</ueic:EffectiveIncomeTaxReconciliationSaleOfIntangibleAssetAmount>
    <ueic:EffectiveIncomeTaxReconciliationSaleOfIntangibleAssetAmount
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEzLTMtMS0xLTU3MTg0_dbde1f88-9635-40c2-b484-9d78d279d578"
      unitRef="usd">0</ueic:EffectiveIncomeTaxReconciliationSaleOfIntangibleAssetAmount>
    <ueic:EffectiveIncomeTaxReconciliationSaleOfIntangibleAssetAmount
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEzLTUtMS0xLTU3MTg0_0f9da05a-8b49-4bfb-a98c-4e83c1cbe6cd"
      unitRef="usd">0</ueic:EffectiveIncomeTaxReconciliationSaleOfIntangibleAssetAmount>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEzLTEtMS0xLTQ3MTkw_dc917b1c-e413-4e62-bb4d-8118ee1a7ad7"
      unitRef="usd">-2408000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEzLTMtMS0xLTQ3MTkw_b6b212e9-2daa-4215-8c98-aab8250d5179"
      unitRef="usd">-1435000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzEzLTUtMS0xLTQ3MTkw_8a980b4a-158b-4964-b7d9-fbf9cd0bb932"
      unitRef="usd">-1932000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE0LTEtMS0xLTQ3MTkw_aa48aad5-7efb-478c-898d-d5313cd4e227"
      unitRef="usd">693000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE0LTMtMS0xLTQ3MTkw_ca0442eb-48df-4ab5-bfdf-fa866fe566b8"
      unitRef="usd">-616000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE0LTUtMS0xLTQ3MTkw_4c0f6949-d3a3-44bb-b169-f3d51aae9cd6"
      unitRef="usd">-266000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE1LTEtMS0xLTQ3MTkw_d9d1cb92-a223-4e73-9804-3e35e21ef863"
      unitRef="usd">-640000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
    <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE1LTMtMS0xLTQ3MTkw_3eafebb8-0fcf-4097-b30a-7aa3167bbb92"
      unitRef="usd">0</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
    <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE1LTUtMS0xLTQ3MTkw_47e9643b-08b1-4323-9205-8dcdc3340030"
      unitRef="usd">-1527000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
    <ueic:EffectiveIncomeTaxRateReconciliationUncertainTaxPositions
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE2LTEtMS0xLTQ3MTkw_4432f53d-2b80-470a-a4bc-95f46936ded9"
      unitRef="usd">0</ueic:EffectiveIncomeTaxRateReconciliationUncertainTaxPositions>
    <ueic:EffectiveIncomeTaxRateReconciliationUncertainTaxPositions
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE2LTMtMS0xLTQ3MTkw_2354d468-481d-4730-8ff4-0a9ae88708d6"
      unitRef="usd">0</ueic:EffectiveIncomeTaxRateReconciliationUncertainTaxPositions>
    <ueic:EffectiveIncomeTaxRateReconciliationUncertainTaxPositions
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE2LTUtMS0xLTQ3MTkw_73e41a9f-f9c6-4c80-99b0-a6375a552334"
      unitRef="usd">-1565000</ueic:EffectiveIncomeTaxRateReconciliationUncertainTaxPositions>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE3LTEtMS0xLTQ3MTkw_8a22655b-ddc0-43a5-adbd-d14d3443b0ea"
      unitRef="usd">12058000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE3LTMtMS0xLTQ3MTkw_28e2aceb-d41a-43cb-94dc-0e73b81fcfe9"
      unitRef="usd">4632000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE3LTUtMS0xLTQ3MTkw_2eeb704f-21c4-4183-95e8-2084a8322d5f"
      unitRef="usd">3109000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <ueic:EffectiveIncomeTaxRateReconciliationWithholdingTax
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE4LTEtMS0xLTQ3MTkw_8e4ae3ef-739e-4694-9ac6-fcd49fca4810"
      unitRef="usd">2188000</ueic:EffectiveIncomeTaxRateReconciliationWithholdingTax>
    <ueic:EffectiveIncomeTaxRateReconciliationWithholdingTax
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE4LTMtMS0xLTQ3MTkw_e0ffff3a-c465-495f-8f66-a11e6f22ac8c"
      unitRef="usd">2333000</ueic:EffectiveIncomeTaxRateReconciliationWithholdingTax>
    <ueic:EffectiveIncomeTaxRateReconciliationWithholdingTax
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE4LTUtMS0xLTQ3MTkw_861b7e3e-c309-4528-b19b-cb725b162866"
      unitRef="usd">2320000</ueic:EffectiveIncomeTaxRateReconciliationWithholdingTax>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE5LTEtMS0xLTQ3MTkw_d917adf9-7ada-4ec2-ae28-de4e8bd1d23a"
      unitRef="usd">-263000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE5LTMtMS0xLTQ3MTkw_976f0631-b7f9-4ae7-9e6c-5ff1e1fcc254"
      unitRef="usd">260000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzE5LTUtMS0xLTQ3MTkw_bea81c94-4780-4bf5-bf88-6d8947560b8a"
      unitRef="usd">410000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzIwLTEtMS0xLTQ3MTkw_9a471b32-73b4-4706-b499-33ac4cd99b3a"
      unitRef="usd">10986000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzIwLTMtMS0xLTQ3MTkw_e6083dc3-7588-4544-87bd-22405862a798"
      unitRef="usd">10779000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTpiM2YzMDAzOTMwMjc0Yzc3ODk0MmVhZGNkNmJjM2ZlMi90YWJsZXJhbmdlOmIzZjMwMDM5MzAyNzRjNzc4OTQyZWFkY2Q2YmMzZmUyXzIwLTUtMS0xLTQ3MTkw_e67de9b5-0dd2-4ba6-8d2c-0254b40c2bf1"
      unitRef="usd">5333000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="ib3a7cc7a17d64e4fb6f50a62d240c83d_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzU4Mg_4a00c3b1-f84a-4345-ac69-0a55dd459bcb"
      unitRef="usd">4200000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="i3448e7a86b3145a4a324c8c635b5a4b9_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzU4OQ_ef1ccb79-325e-4dfb-ae05-ec3d65bdb074"
      unitRef="usd">12800000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:OperatingLossCarryforwards
      contextRef="if42b4e6b17ac4be2bcfa8f30c4788f6d_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzgxMg_8f839211-caad-48a3-a05b-90113366c563"
      unitRef="usd">50600000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i36b32c29391e4fb6abbb063515f61101_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzU0OTc1NTgxOTgyNg_faf75f78-a4d2-4289-b119-c195175d2465"
      unitRef="usd">700000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i2fdd8ed73404443f94b5244ed6f8e833_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzE2Mjg_444f7525-b242-4898-a0fa-b10e4cd96241"
      unitRef="usd">24500000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="if42b4e6b17ac4be2bcfa8f30c4788f6d_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzE2MzU_90a352a7-427b-470a-8430-afe443b944f2"
      unitRef="usd">20100000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzE5ODk_a542e518-7f97-4123-a49a-fce05b8bf36e"
      unitRef="usd">12100000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzE5OTY_30a6538a-be68-47b6-a9de-dcac5e8a33c3"
      unitRef="usd">4600000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <ueic:UnrecognizedTaxBenefitsIncludingIncomeTaxInterestAndPenaltiesAccrued
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzIzNTM_08f75204-82c4-4a45-8481-c8e85893d586"
      unitRef="usd">3200000</ueic:UnrecognizedTaxBenefitsIncludingIncomeTaxInterestAndPenaltiesAccrued>
    <ueic:UnrecognizedTaxBenefitsIncludingIncomeTaxInterestAndPenaltiesAccrued
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzIzNjA_a292e070-8cd2-4128-b8ae-647960ca68e9"
      unitRef="usd">3000000</ueic:UnrecognizedTaxBenefitsIncludingIncomeTaxInterestAndPenaltiesAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzE2NDkyNjc0NDc1MTg_2a44f50e-62de-48bf-ba4a-98eb10edc03b"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzE2NDkyNjc0NDc1MTg_3ef56100-a1aa-4167-a9ed-a8851943b74d"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzE2NDkyNjc0NDc1MTg_ca4add5b-fd49-4401-a239-f455f855afc9"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzUzODM_330a4d47-41de-49b7-bbc3-e4b0ace7c5ce">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes to our gross unrecognized tax benefits 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;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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 beginning of period&lt;/span&gt;&lt;/td&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;3,001&#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;3,020&#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,094&#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;Additions as a result of tax provisions taken during the current year&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;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;226&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;274&#160;&lt;/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;Foreign currency translation&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;&#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;(13)&lt;/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&#160;&lt;/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;Lapse in statute of limitations&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;(51)&lt;/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;Settlements&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;&#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;(232)&lt;/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 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;Other&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,317)&lt;/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;Balance at end of period&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;3,150&#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;3,001&#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;3,020&#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:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzItMS0xLTEtNDcxOTA_f411c3f2-e6d3-420c-b2c4-999c7ba7e757"
      unitRef="usd">3001000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzItMy0xLTEtNDcxOTA_87bac0b8-4cb3-4abb-bbb8-7c8370799666"
      unitRef="usd">3020000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i2b3debd26b59457c8436e5e4076ec943_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzItNS0xLTEtNDcxOTA_303c93bb-237f-4abf-aac4-14d351182e53"
      unitRef="usd">4094000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzMtMS0xLTEtNDcxOTA_4c1ef890-f46b-4f5d-98d1-d286ff3f7f66"
      unitRef="usd">149000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzMtMy0xLTEtNDcxOTA_6ba27356-7b79-418f-b72e-921c5cbff25e"
      unitRef="usd">226000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzMtNS0xLTEtNDcxOTA_e70cfe4b-6982-4482-aa46-28c24c9c0627"
      unitRef="usd">274000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzQtMS0xLTEtNDcxOTA_d071f240-f690-4205-ac22-bf78ac5cfe42"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzQtMy0xLTEtNDcxOTA_226281a0-43ea-4e93-af5b-ef0957c3c02e"
      unitRef="usd">13000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzQtNS0xLTEtNDcxOTA_d9805233-4fcf-4e24-8a34-fd4a9fff7d42"
      unitRef="usd">20000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzUtMS0xLTEtNDcxOTA_22740a29-2a8d-408b-8395-2069e56be3c6"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzUtMy0xLTEtNDcxOTA_9eabf9aa-19cd-44af-b8bc-7216f7b18f9c"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzUtNS0xLTEtNDcxOTA_907ba48d-d7d8-4ba5-8f52-9b2e75cd8681"
      unitRef="usd">51000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzYtMS0xLTEtNDcxOTA_4c839b39-2ade-443a-bf1a-170b9742148b"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzYtMy0xLTEtNDcxOTA_afc13f3e-ea49-497d-b0e2-32ef54838339"
      unitRef="usd">232000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzYtNS0xLTEtNDcxOTA_01f3b597-1b10-4774-9a9f-3d5c07ee98e4"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities>
    <ueic:UnrecognizedTaxBenefitsIncreaseDecreaseOther
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzctMS0xLTEtNDcxOTA_6134f98a-ec8f-409d-8540-2f07ca36a635"
      unitRef="usd">0</ueic:UnrecognizedTaxBenefitsIncreaseDecreaseOther>
    <ueic:UnrecognizedTaxBenefitsIncreaseDecreaseOther
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzctMy0xLTEtNDcxOTA_44b4c69a-673a-475b-a2bf-69634b8b2f04"
      unitRef="usd">0</ueic:UnrecognizedTaxBenefitsIncreaseDecreaseOther>
    <ueic:UnrecognizedTaxBenefitsIncreaseDecreaseOther
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzctNS0xLTEtNDcxOTA_bbee3cd0-b805-4dee-a4c6-164740ddc112"
      unitRef="usd">-1317000</ueic:UnrecognizedTaxBenefitsIncreaseDecreaseOther>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzgtMS0xLTEtNDcxOTA_5552c2be-ee52-4178-85ac-14eb23243959"
      unitRef="usd">3150000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzgtMy0xLTEtNDcxOTA_162adbef-2644-4da4-b830-6c1536d2fcd9"
      unitRef="usd">3001000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90YWJsZTphYTU2YTA0ODYxM2U0NWRmYTc5ODMxNzgzMzgwMzYyMy90YWJsZXJhbmdlOmFhNTZhMDQ4NjEzZTQ1ZGZhNzk4MzE3ODMzODAzNjIzXzgtNS0xLTEtNDcxOTA_494ce4c7-ae4d-4816-964c-4a099c95d274"
      unitRef="usd">3020000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzI4MDg_d87bc0a7-5de1-497c-bc65-ef026ccee259"
      unitRef="usd">3200000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzI4MTI_83648ec6-f7be-4417-bd00-a6021b15f639"
      unitRef="usd">3000000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzI4MTk_26ae761a-78b4-447d-ad06-a781f7bf5494"
      unitRef="usd">3000000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <ueic:DeferredTaxLiabilityStateTaxesDividendReinvestment
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzQyOTM_05d09205-a3bf-4bd8-9604-579925434edf"
      unitRef="usd">500000</ueic:DeferredTaxLiabilityStateTaxesDividendReinvestment>
    <ueic:DeferredTaxLiabilityStateTaxesDividendReinvestment
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzQyOTc_f1033267-70b1-402a-a0f6-632aceb81eef"
      unitRef="usd">900000</ueic:DeferredTaxLiabilityStateTaxesDividendReinvestment>
    <ueic:DeferredTaxLiabilityStateTaxesDividendReinvestment
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMTUvZnJhZzo3NjNjMjY0YTRhNTY0NTFlOWQyZWQ3MWNiY2JhMmIzZS90ZXh0cmVnaW9uOjc2M2MyNjRhNGE1NjQ1MWU5ZDJlZDcxY2JjYmEyYjNlXzQzMDQ_e798530e-0c35-465d-8417-73d71e132517"
      unitRef="usd">2100000</ueic:DeferredTaxLiabilityStateTaxesDividendReinvestment>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90ZXh0cmVnaW9uOjgxZjMxYjYyNDk2MjQwM2Q5ZjAxMzA2MTcyZjA1NTE1XzEwMTI_6d8ebf01-0d4c-4bd9-a6b6-5a8ed0b12ffb">Accrued Compensation&lt;div style="text-align:justify"&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 2018, we sold our Guangzhou entity via a stock deal, and the terms of the agreement included a two-year indemnification period. In June 2020, the indemnification period expired and we determined we were no longer legally liable for any liabilities associated with our Guangzhou entity. Accordingly, we reversed the accrued social insurance by the amount associated with the Guangzhou entity, which was approximately $9.5&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 compensation 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;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued bonus&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;3,348&#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 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;3,460&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued commission&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;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,140&#160;&lt;/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;Accrued salary/wages&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;4,433&#160;&lt;/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,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;/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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued social insurance &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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;/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;Accrued vacation/holiday&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;3,300&#160;&lt;/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,343&#160;&lt;/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 accrued compensation&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;2,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;2,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;/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 accrued compensation&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;20,904&#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;24,217&#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:2pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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:10.43pt"&gt;PRC employers are required by law to remit the applicable social insurance payments to their local government. Social insurance is comprised of various components such as pension, medical insurance, job injury insurance, unemployment insurance, and a housing assistance fund, and is administered in a manner similar to social security in the United States. This amount represents our estimate of the amounts due to the PRC government for social insurance on December&#160;31, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;Other Accrued Liabilities&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-weight:400;line-height:120%"&gt;The components of other accrued liabilities 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;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;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 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;1,134&#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 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;390&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Duties&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;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,128&#160;&lt;/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;Expense associated with fulfilled performance obligations&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;1,120&#160;&lt;/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;991&#160;&lt;/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;Freight and handling fees &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;2,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,317&#160;&lt;/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;Interest&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;1,413&#160;&lt;/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;287&#160;&lt;/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;Operating lease obligations&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;5,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,769&#160;&lt;/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;Product warranty claim costs&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;522&#160;&lt;/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,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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Professional fees&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;2,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,685&#160;&lt;/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;Sales and value added taxes&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;3,750&#160;&lt;/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,463&#160;&lt;/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&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;5,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;5,715&#160;&lt;/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 other accrued liabilities&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;24,134&#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;30,840&#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:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <ueic:DisposalGroupIncludingDiscontinuedOperationIndemnificationPeriod
      contextRef="i2978d4aef75a41d0a4a0b628cd682b13_D20180601-20180630"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90ZXh0cmVnaW9uOjgxZjMxYjYyNDk2MjQwM2Q5ZjAxMzA2MTcyZjA1NTE1XzE2NDkyNjc0NDM2MzA_ca4d5e54-5474-4b2f-96b4-6532cf223320">P2Y</ueic:DisposalGroupIncludingDiscontinuedOperationIndemnificationPeriod>
    <ueic:AccruedSocialInsuranceAdjustment
      contextRef="i8d9b9415570b41969feae6aaad36b810_D20200601-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90ZXh0cmVnaW9uOjgxZjMxYjYyNDk2MjQwM2Q5ZjAxMzA2MTcyZjA1NTE1XzU0OTc1NTgxNTgxMg_ae6cc703-8e15-4ab7-a25d-436b64b6137a"
      unitRef="usd">9500000</ueic:AccruedSocialInsuranceAdjustment>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90ZXh0cmVnaW9uOjgxZjMxYjYyNDk2MjQwM2Q5ZjAxMzA2MTcyZjA1NTE1Xzk5Nw_614dcd87-5c8d-4755-a856-9801207e4455">&lt;div style="text-align:justify"&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 compensation 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;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued bonus&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;3,348&#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 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;3,460&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued commission&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;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,140&#160;&lt;/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;Accrued salary/wages&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;4,433&#160;&lt;/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,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;/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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued social insurance &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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;/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;Accrued vacation/holiday&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;3,300&#160;&lt;/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,343&#160;&lt;/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 accrued compensation&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;2,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;2,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;/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 accrued compensation&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;20,904&#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;24,217&#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:2pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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:10.43pt"&gt;PRC employers are required by law to remit the applicable social insurance payments to their local government. Social insurance is comprised of various components such as pension, medical insurance, job injury insurance, unemployment insurance, and a housing assistance fund, and is administered in a manner similar to social security in the United States. This amount represents our estimate of the amounts due to the PRC government for social insurance on December&#160;31, 2022 and 2021.&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-weight:400;line-height:120%"&gt;The components of other accrued liabilities 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;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&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:700;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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;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;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 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;1,134&#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 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;390&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Duties&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;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,128&#160;&lt;/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;Expense associated with fulfilled performance obligations&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;1,120&#160;&lt;/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;991&#160;&lt;/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;Freight and handling fees &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;2,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,317&#160;&lt;/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;Interest&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;1,413&#160;&lt;/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;287&#160;&lt;/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;Operating lease obligations&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;5,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,769&#160;&lt;/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;Product warranty claim costs&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;522&#160;&lt;/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,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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Professional fees&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;2,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,685&#160;&lt;/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;Sales and value added taxes&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;3,750&#160;&lt;/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,463&#160;&lt;/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&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;5,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;5,715&#160;&lt;/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 other accrued liabilities&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;24,134&#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;30,840&#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:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedBonusesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzItMS0xLTEtNDcxOTA_f9b7bd79-467f-47c6-81e6-657a25893471"
      unitRef="usd">3348000</us-gaap:AccruedBonusesCurrent>
    <us-gaap:AccruedBonusesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzItMy0xLTEtNDcxOTA_b9c2658f-397d-428d-9894-872a810f62ca"
      unitRef="usd">3460000</us-gaap:AccruedBonusesCurrent>
    <ueic:AccruedEmployeeSalesCommissionCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzMtMS0xLTEtNDcxOTA_698de623-f080-49e4-90e7-ba8c658f89cd"
      unitRef="usd">609000</ueic:AccruedEmployeeSalesCommissionCurrent>
    <ueic:AccruedEmployeeSalesCommissionCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzMtMy0xLTEtNDcxOTA_455c15f4-b91b-4a01-97e6-17e8f71d5c2c"
      unitRef="usd">1140000</ueic:AccruedEmployeeSalesCommissionCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzQtMS0xLTEtNDcxOTA_6e856015-b57f-4c02-86bb-9e79ce0b6927"
      unitRef="usd">4433000</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzQtMy0xLTEtNDcxOTA_3b47ac47-5c74-4b01-8199-fd3ea88b66a7"
      unitRef="usd">6234000</us-gaap:AccruedSalariesCurrent>
    <ueic:AccruedSocialInsuranceCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzUtMS0xLTEtNDcxOTA_0e8a5d25-d622-4548-8917-b8e407052eb7"
      unitRef="usd">7037000</ueic:AccruedSocialInsuranceCurrent>
    <ueic:AccruedSocialInsuranceCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzUtMy0xLTEtNDcxOTA_91c20257-f0a2-4b42-b7c2-cb8eff73bcb6"
      unitRef="usd">7562000</ueic:AccruedSocialInsuranceCurrent>
    <us-gaap:AccruedVacationCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzYtMS0xLTEtNDcxOTA_c4fcc08d-3c81-4144-8337-a762fecd4192"
      unitRef="usd">3300000</us-gaap:AccruedVacationCurrent>
    <us-gaap:AccruedVacationCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzYtMy0xLTEtNDcxOTA_8743235a-9bf8-4b2a-b3b3-17ece19255c9"
      unitRef="usd">3343000</us-gaap:AccruedVacationCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzctMS0xLTEtNDcxOTA_a62bad9d-ada1-4cfd-acc1-9c0d4e7fc1bf"
      unitRef="usd">2177000</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzctMy0xLTEtNDcxOTA_8bd71d3f-b8ff-4588-a3fb-d88080d95010"
      unitRef="usd">2478000</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzgtMS0xLTEtNDcxOTA_80cc67a0-58fd-4fcf-9f1d-c00b354f7bf9"
      unitRef="usd">20904000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjEvZnJhZzo4MWYzMWI2MjQ5NjI0MDNkOWYwMTMwNjE3MmYwNTUxNS90YWJsZTo2Njc3YjNiYjU1MTA0NzFkOTI2YjQzZThlOTk3NzBkNy90YWJsZXJhbmdlOjY2NzdiM2JiNTUxMDQ3MWQ5MjZiNDNlOGU5OTc3MGQ3XzgtMy0xLTEtNDcxOTA_bbc76fe0-d027-40f0-91ac-6d7586e8d7de"
      unitRef="usd">24217000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzItMS0xLTEtNDkwNzk_57bd808f-5138-478c-bc66-5930c518f4c7"
      unitRef="usd">1134000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzItMy0xLTEtNDkwNzk_58856c1f-84a1-47c0-ac8a-89ad598597a9"
      unitRef="usd">390000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <ueic:AccruedDutiesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzItMS0xLTEtNDcxOTA_de5c8166-05e9-493a-a287-1b83623f7682"
      unitRef="usd">470000</ueic:AccruedDutiesCurrent>
    <ueic:AccruedDutiesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzItMy0xLTEtNDcxOTA_355ae6e1-2446-489c-9dde-d4173b701f65"
      unitRef="usd">4128000</ueic:AccruedDutiesCurrent>
    <ueic:AccruedExpenseAssociatedWithFulfilledPerformanceObligations
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzMtMS0xLTEtNDcxOTA_fdcd17d4-8459-49ab-8d9c-02f88186cb5e"
      unitRef="usd">1120000</ueic:AccruedExpenseAssociatedWithFulfilledPerformanceObligations>
    <ueic:AccruedExpenseAssociatedWithFulfilledPerformanceObligations
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzMtMy0xLTEtNDcxOTA_45e50a45-9362-4d91-ba02-b4ccf88466eb"
      unitRef="usd">991000</ueic:AccruedExpenseAssociatedWithFulfilledPerformanceObligations>
    <ueic:AccruedFreightAndHandlingFeesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzQtMS0xLTEtNDcxOTA_1e77334d-7595-4083-87a0-9845c09e0319"
      unitRef="usd">2497000</ueic:AccruedFreightAndHandlingFeesCurrent>
    <ueic:AccruedFreightAndHandlingFeesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzQtMy0xLTEtNDcxOTA_05bbad7f-3a0e-4529-8375-90564a73c722"
      unitRef="usd">3317000</ueic:AccruedFreightAndHandlingFeesCurrent>
    <us-gaap:InterestPayableCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzYtMS0xLTEtNDkwODc_07df3d00-ca1b-4eec-ac6d-811115544af1"
      unitRef="usd">1413000</us-gaap:InterestPayableCurrent>
    <us-gaap:InterestPayableCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzYtMy0xLTEtNDkwODc_799a62bd-02db-40d9-b587-b145f272f2ad"
      unitRef="usd">287000</us-gaap:InterestPayableCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzUtMS0xLTEtNDcxOTA_7a42bdf5-a9b8-41dd-bbea-3f563f019c34"
      unitRef="usd">5509000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzUtMy0xLTEtNDcxOTA_723028be-6da0-410e-aa59-5a2a1556e2c9"
      unitRef="usd">4769000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzYtMS0xLTEtNDcxOTA_9c27bb19-f2a4-4334-8897-2c1366d96b67"
      unitRef="usd">522000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzYtMy0xLTEtNDcxOTA_6c8b9327-48bf-4d9b-ab8e-ff41e2a02ef4"
      unitRef="usd">1095000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzctMS0xLTEtNDcxOTA_f841e935-ca70-494f-8236-4aaa6da82c40"
      unitRef="usd">2293000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzctMy0xLTEtNDcxOTA_fbf64acd-0e3a-4333-85c5-302baf0627b5"
      unitRef="usd">4685000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:SalesAndExciseTaxPayableCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzgtMS0xLTEtNDcxOTA_4fa937c4-ec14-4a43-9d20-9086c76d1294"
      unitRef="usd">3750000</us-gaap:SalesAndExciseTaxPayableCurrent>
    <us-gaap:SalesAndExciseTaxPayableCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzgtMy0xLTEtNDcxOTA_e5c9830f-88ed-4242-bc76-4b19fa89469c"
      unitRef="usd">5463000</us-gaap:SalesAndExciseTaxPayableCurrent>
    <ueic:OtherAccruedExpensesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzEwLTEtMS0xLTQ3MTkw_0a43e8f0-2548-42bb-bc72-d0a55104f0b0"
      unitRef="usd">5426000</ueic:OtherAccruedExpensesCurrent>
    <ueic:OtherAccruedExpensesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzEwLTMtMS0xLTQ3MTkw_bd12eef7-ecd2-477f-a677-4aede36206ef"
      unitRef="usd">5715000</ueic:OtherAccruedExpensesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzExLTEtMS0xLTQ3MTkw_5b6805ec-c541-422c-a348-615de0e25212"
      unitRef="usd">24134000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMjcvZnJhZzo2NTI2YmRhOGE5MzI0YTY3YWViYzRjZTU5NjE1NWVkZC90YWJsZTpiMjMyNzc1NjQ3YzY0NjE5YjRmZmZkM2UzMWVhODY4Yi90YWJsZXJhbmdlOmIyMzI3NzU2NDdjNjQ2MTliNGZmZmQzZTMxZWE4NjhiXzExLTMtMS0xLTQ3MTkw_30c46248-5979-4eca-b5e5-63757bad7f5c"
      unitRef="usd">30840000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzExOTg2_428d5d99-71b1-43b3-945e-7ec1b25bbb75">Commitments and Contingencies&lt;div style="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;Indemnifications&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We indemnify our directors and officers to the maximum extent permitted under the laws of the state of Delaware and we have entered into indemnification agreements with each of our directors and executive officers. In addition, we insure our individual directors and officers against certain claims and attorney's fees and related expenses incurred in connection with the defense of such claims. The amounts and types of coverage may vary from period to period as dictated by market conditions. Management is not aware of any matters that require indemnification of its officers or directors.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Fair Price Provisions and Other Anti-Takeover Measures&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our Restated Certificate of Incorporation, as amended, contains certain provisions restricting business combinations with interested stockholders under certain circumstances and imposing higher voting requirements for the approval of certain transactions ("fair price" provisions). Any of these provisions may delay or prevent a change in control.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 price" provisions require that holders of at least two-thirds of our outstanding shares of voting stock approve certain business combinations and significant transactions with interested stockholders.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Product Warranties&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 the liability for product warranty claim costs 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;/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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:bottom"&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 beginning of period&lt;/span&gt;&lt;/td&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,095&#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,721&#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,514&#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;Accruals for warranties issued during the period&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;249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;578&#160;&lt;/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;Settlements (in cash or in kind) during the period&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;(819)&lt;/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,522)&lt;/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;(463)&lt;/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;Foreign currency translation gain (loss)&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;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(47)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;92&#160;&lt;/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;Balance at end of period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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;522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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,721&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Litigation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Roku Matters&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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%;text-decoration:underline"&gt;2018 Lawsuit&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On September 5, 2018, we filed a lawsuit against Roku, Inc. ("Roku") in the United States District Court, Central District of California, alleging that Roku is willfully infringing nine of our patents that are in four patent families related to remote control set-up and touchscreen remotes. On December 5, 2018, we amended our complaint to add additional details supporting our infringement and willfulness allegations. We have alleged that this complaint relates to multiple Roku streaming players and components therefor and certain universal control devices, including but not limited to the Roku App, Roku TV, Roku Express, Roku Streaming Stick, Roku Ultra, Roku Premiere, Roku 4, Roku 3, Roku 2, Roku Enhanced Remote and any other Roku product that provides for the remote control of an external device such as a TV, audiovisual receiver, sound bar or Roku TV Wireless Speakers. In October 2019, the Court stayed this lawsuit pending action by the Patent Trial and Appeals Board (the "PTAB") with respect to Roku's requests for Inter Partes Review ("IPR") (see discussion below). This lawsuit continues to be stayed until such time as the IPR's and all appeals with respect to them have concluded.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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%;text-decoration:underline"&gt;International Trade Commission Investigation of Roku, TCL, Hisense and Funai&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April 16, 2020, we filed a complaint with the International Trade Commission (the "ITC") against Roku, TCL Electronics Holding Limited and related entities (collectively, "TCL"), Hisense Co., Ltd. and related entities (collectively, "Hisense"), and Funai Electric Company, Ltd. and related entities (collectively, "Funai") claiming that certain of their televisions, set-top boxes, remote control devices, human interface devices, streaming devices, and sound bars infringe certain of our patents. We asked the ITC to issue a permanent limited exclusion order prohibiting the importation of these infringing products into the United &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;States and a cease and desist order to stop these parties from continuing their infringing activities. On May 18, 2020, the ITC announced that it instituted its investigation as requested by us. Prior to the trial, which ended on April 23, 2021, we dismissed TCL, Hisense and Funai from this investigation as they either removed or limited the amount of our technology from their televisions as compared to our patent claims that we asserted at the time. On July 9, 2021, the Administrative Law Judge (the "ALJ") issued his Initial Determination (the "ID") finding that Roku is infringing our patents and as a result is in violation of &#xa7;337 of the Tariff Act of 1930, as amended (the "Tariff Act"). On July 23, 2021, Roku and we filed petitions to appeal certain portions of the ID. On November 10, 2021, the full ITC issued its final determination affirming the ID and issuing a Limited Exclusion Order (the "LEO") and Cease and Desist Order (the "CDO") against Roku, which became effective on January 9, 2022. Roku continues to be subject to the LEO and CDO. On October 25, 2022, we filed our brief opposing Roku's appeal of the LEO.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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%;text-decoration:underline"&gt;2020 Lawsuit&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 companion case to our ITC complaint, on April 9, 2020, we filed separate actions against each of Roku, TCL, Hisense, and Funai in the United States District Court, Central District of California, alleging that Roku is willfully infringing five of our patents and TCL, Hisense, and Funai are willfully infringing six of our patents by incorporating our patented technology into certain of their televisions, set-top boxes, remote control devices, human interface devices, streaming devices and sound bars. These matters have been and continue to be stayed pending the ITC case and any appeals.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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%;text-decoration:underline"&gt;Inter Partes Reviews&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Throughout these litigation matters against Roku and the others identified above, Roku has filed multiple IPR requests with the PTAB on all patents at issue in the 2018 Lawsuit, the ITC Action, and the 2020 Lawsuit (see discussion above). To date, the PTAB has denied Roku's request fourteen times and granted Roku's request twelve times. Roku has since filed two IPRs on two of our patents not yet asserted against it, and we are awaiting the PTAB's institution decision with respect to those new IPR requests. Of the twelve IPR requests granted by the PTAB, the results were mixed, with the PTAB upholding the validity of many of our patent claims and invalidating others. We have appealed all but one PTAB decisi&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;on that resulted i&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;n an invalidation of our patent claims and we will continue to do so.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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%;text-decoration:underline"&gt;International Trade Commission Investigation Request made by Roku against UEI and certain UEI Customers&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April 8, 2021, Roku made a request to the ITC to initiate an investigation against us and certain of our customers claiming that certain of our and those customers' remote control devices and televisions infringe two of Roku's recently acquired patents, the '511 patent and the '875 patent. On May 10, 2021, the ITC announced its decision to institute the requested investigation. Immediately prior to trial Roku stipulated to summary determination as to its complaint against us and two of our customers with respect to one of the two patents at issue. This stipulation resulted in the complaint against us and two of our customers with respect to that patent not going to trial. The trial was thus shortened and ended on January 24, 2022. On June 24, 2022, the ALJ, pursuant to Roku's stipulation, found the '511 patent invalid as indefinite. Thereafter, on June 28, 2022, the ALJ issued an ID fully exonerating us and our customers finding the '875 patent invalid and that Roku failed to prove it established the requisite domestic industry and thus no violation of the Tariff Act. In advance of the full Commission's review, Roku and we filed petitions to appeal certain portions of the ID. In addition, the PTAB granted our request for an IPR with respect to the '875 patent. On October 28, 2022, the full ITC issued its final determination affirming the ID, ruling there was no violation of the Tariff Act and terminated the investigation. In December 2022, Roku filed an appeal, which remains pending. As a companion to its ITC request, Roku also filed a lawsuit against us in Federal District Court in the Central District of California alleging that we are infringing the same two patents they alleged being infringed in the ITC investigation explained above. This District Court case has been stayed pending the ITC case, and will likely continue to be stayed pending the conclusion of the '875 IPR investigation, even after Roku's appeal of the ITC case has concluded.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:700;line-height:120%"&gt;Court of International Trade Action against the United States of America, et. al.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October 9, 2020, we and our subsidiaries, Ecolink Intelligent Technology, Inc. ("Ecolink") and RCS Technology, LLC ("RCS"), filed an amended complaint (20-cv-00670) in the Court of International Trade (the "CIT") against the United States of America; the Office of the United States Trade Representative; Robert E. Lighthizer, U.S. Trade Representative; U.S. Customs &amp;amp; Border Protection; and Mark A. Morgan, U.S. Customs &amp;amp; Border Protection Acting Commissioner, challenging both the &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;substantive and procedural processes followed by the United States Trade Representative ("USTR") when instituting Section 301 Tariffs on imports from China under Lists 3 and 4A.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to this complaint, Ecolink, RCS and we are alleging that USTR's institution of Lists 3 and 4A tariffs violated the Trade Act of 1974 (the "Trade Act") on the grounds that the USTR failed to make a determination or finding that there was an unfair trade practice that required a remedy and moreover, that Lists 3 and 4A tariffs were instituted beyond the 12-month time limit provided for in the governing statute. Ecolink, RCS and we also allege that the manner in which the Lists 3 and 4A tariff actions were implemented violated the Administrative Procedures Act (the "APA") by failing to provide adequate opportunity for comments, failed to consider relevant factors when making its decision and failed to connect the record facts to the choices it made by not explaining how the comments received by USTR came to shape the final implementation of Lists 3 and 4A.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Ecolink, RCS and we are asking the CIT to declare that the defendants' actions resulting in the tariffs on products covered by Lists 3 and 4A are unauthorized by and contrary to the Trade Act and were arbitrarily and unlawfully promulgated in violation of the APA; to vacate the Lists 3 and 4A tariffs; to order a refund (with interest) of any Lists 3 and 4A duties paid by Ecolink, RCS and us; to permanently enjoin the U.S. government from applying Lists 3 and 4A duties against Ecolink, RCS and us; and award Ecolink, RCS and us our costs and reasonable attorney's fees.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In July 2021, the CIT issued a preliminary injunction suspending liquidation of all unliquidated entries subject to Lists 3 and 4A duties and has asked the parties to develop a process to keep track of the entries to efficiently and effectively deal with liquidation process and duties to be paid or refunded when finally adjudicated. On February 5, 2022, the CIT heard oral arguments on dispositive motions filed on behalf of plaintiffs and defendants. On April 1, 2022, the CIT issued its opinion on these dispositive motions, ruling that the USTR had the legal authority to promulgate List 3 and List 4A under Section 307(a)(1)(B) of the Trade Act, but that the USTR violated the APA when it promulgated List 3 and List 4A concluding that the USTR failed to adequately explain its decision as required under the APA. The Court ordered that List 3 and List 4A be remanded to the USTR for reconsideration or further explanation regarding its rationale for imposing the tariffs. The Court declined to vacate List 3 and List 4A, which means that they are still in place while on remand. The Court's preliminary injunction regarding liquidation of entries also remains in effect. The Court initially set a deadline of June 30, 2022, for the USTR to complete this process, which was extended to August 1, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 1, 2022, the USTR provided the Court with that further explanation and also purported to respond to the significant comments received during the original notice-and-comment process. On September 14, 2022, the lead plaintiff filed its comments to the USTR's August 1, 2022 filing, asserting that the USTR did not adequately respond to the Court's remand order and requested the Court to vacate the List 3 and List 4A tariffs and issue refunds immediately. On February 7, 2023, the Court heard arguments on these issues and we expect the Court to rule on these filings in mid 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There are no other material pending legal proceedings to which we or any of our subsidiaries is a party or of which our respective property is the subject. However, as is typical in our industry and to the nature and kind of business in which we are engaged, from time to time, various claims, charges and litigation are asserted or commenced by third parties against us or by us against third parties arising from or related to product liability, infringement of patent or other intellectual property rights, breach of warranty, contractual relations, or employee relations. The amounts claimed may be substantial, but may not bear any reasonable relationship to the merits of the claims or the extent of any real risk of court awards assessed against us or in our favor. However, no assurances can be made as to the outcome of any of these matters, nor can we estimate the range of potential losses to us. In our opinion, final judgments, if any, which might be rendered against us in potential or pending litigation would not have a material adverse effect on our consolidated financial condition, results of operations, or cash flows. Moreover, we believe that our products do not infringe any third parties' patents or other intellectual property rights.&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;We maintain directors' and officers' liability insurance which insures our individual directors and officers against certain claims, as well as attorney's fees and related expenses incurred in connection with the defense of such claims.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Defined Benefit Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our subsidiary in India maintains a defined benefit pension plan ("India Plan") for local employees, which is consistent with local statutes and practices. The pension plan was adequately funded on December&#160;31, 2022 based on its latest actuarial report. The India Plan has an independent external manager that advises us of the appropriate funding contribution requirements to which we comply. At December&#160;31, 2022, approximately 54 percent of our India subsidiary employees had qualified for eligibility. An individual must be employed by our India subsidiary for a minimum of five years before becoming eligible. &lt;/span&gt;&lt;/div&gt;Upon the termination, resignation or retirement of an eligible employee, we are liable to pay the employee an amount equal to 15 days salary for each full year of service completed. The total amount of liability outstanding at December&#160;31, 2022 and 2021 for the India Plan was not material. During the years ended December&#160;31, 2022, 2021 and 2020, the net periodic benefit costs were also not material.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzExOTgx_37fd373e-f6cc-40f5-8611-f09a2c899dbb">&lt;div style="text-align:justify"&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 the liability for product warranty claim costs 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;/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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:bottom"&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 beginning of period&lt;/span&gt;&lt;/td&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,095&#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,721&#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,514&#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;Accruals for warranties issued during the period&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;249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;578&#160;&lt;/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;Settlements (in cash or in kind) during the period&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;(819)&lt;/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,522)&lt;/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;(463)&lt;/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;Foreign currency translation gain (loss)&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;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(47)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;92&#160;&lt;/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;Balance at end of period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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;522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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 #000000;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 #000000;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,721&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzItMS0xLTEtNDcxOTA_9792b929-7a9d-4b84-acaf-bb22fa15cdb6"
      unitRef="usd">1095000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzItMy0xLTEtNDcxOTA_18b98801-dd6e-4f3f-9dbc-6ff82e50a429"
      unitRef="usd">1721000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i2b3debd26b59457c8436e5e4076ec943_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzItNS0xLTEtNDcxOTA_34c1a454-baee-45b6-8f48-5f909a8dc311"
      unitRef="usd">1514000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzMtMS0xLTEtNDcxOTA_9a70cdfa-a21a-465c-a83b-066e5df8a101"
      unitRef="usd">249000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzMtMy0xLTEtNDcxOTA_8df2c6de-1969-4a1b-aabd-2a32d20ea01d"
      unitRef="usd">2943000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzMtNS0xLTEtNDcxOTA_82e43af6-359b-49cb-bc95-96cff600e765"
      unitRef="usd">578000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzQtMS0xLTEtNDcxOTA_929fa232-bbbf-4071-8718-f19ad8bae371"
      unitRef="usd">819000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzQtMy0xLTEtNDcxOTA_aff18cff-8b63-4559-b49d-d1942589ed37"
      unitRef="usd">3522000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzQtNS0xLTEtNDcxOTA_76623bc6-431e-4072-83d5-3d2d43a46c6b"
      unitRef="usd">463000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzUtMS0xLTEtNDcxOTA_64d80502-0978-489d-adda-861efbd4d65f"
      unitRef="usd">-3000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzUtMy0xLTEtNDcxOTA_5233f9f2-1f12-4c87-a989-42c226fbc490"
      unitRef="usd">-47000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzUtNS0xLTEtNDcxOTA_5bbe7745-c94f-4eef-830e-de313d95a0ee"
      unitRef="usd">92000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzYtMS0xLTEtNDcxOTA_bdd24610-aa86-41e5-aa3e-98a6b944f50f"
      unitRef="usd">522000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzYtMy0xLTEtNDcxOTA_a7c4b68e-f093-4182-a4ec-1f9a5f3c18b6"
      unitRef="usd">1095000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90YWJsZTpmZmY4NGJhOWU1Y2Q0NDNhOGRmM2I0NWU5M2Q4OWVhMC90YWJsZXJhbmdlOmZmZjg0YmE5ZTVjZDQ0M2E4ZGYzYjQ1ZTkzZDg5ZWEwXzYtNS0xLTEtNDcxOTA_8524576a-1fe6-4331-89e9-b28ce9abddae"
      unitRef="usd">1721000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:LossContingencyPatentsAllegedlyInfringedNumber
      contextRef="i6199d7d5d70b4105a2cc3168c8c6280a_D20180905-20180905"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzE1OTU_8c199015-e168-41f3-ad5d-9a58933bc6aa"
      unitRef="patent">9</us-gaap:LossContingencyPatentsAllegedlyInfringedNumber>
    <ueic:LossContingencyPatentsAllegedlyInfringedPatentFamiliesNumber
      contextRef="i6199d7d5d70b4105a2cc3168c8c6280a_D20180905-20180905"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzE2MjU_e62876bf-899f-4c01-af84-796f21d00953"
      unitRef="patent">4</ueic:LossContingencyPatentsAllegedlyInfringedPatentFamiliesNumber>
    <us-gaap:LossContingencyPatentsAllegedlyInfringedNumber
      contextRef="idfe09cef9d8444f6913aa8376db41141_D20200409-20200409"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzQ0NjM_c17e9201-3371-42c5-8788-5ba14dde8c46"
      unitRef="patent">5</us-gaap:LossContingencyPatentsAllegedlyInfringedNumber>
    <us-gaap:LossContingencyPatentsAllegedlyInfringedNumber
      contextRef="i614d00f69e524d6fa3c25fcddeacc937_D20200409-20200409"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzQ1MzQ_86b29a83-a5c3-4c8a-8c21-59912195a368"
      unitRef="patent">6</us-gaap:LossContingencyPatentsAllegedlyInfringedNumber>
    <ueic:NumberOfInterPartesReviewIPRRequestsDenied
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzUxNDk_4996585e-f7a2-426a-b1fb-8181b74ac0af"
      unitRef="inter_partes_review">14</ueic:NumberOfInterPartesReviewIPRRequestsDenied>
    <ueic:NumberOfInterPartesReviewIPRRequestsGranted
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzUxODI_5d9f482e-927f-4ae4-87b1-b599d06140f2"
      unitRef="inter_partes_review">12</ueic:NumberOfInterPartesReviewIPRRequestsGranted>
    <us-gaap:LossContingencyPatentsAllegedlyInfringedNumber
      contextRef="i82ecc958df964ed1875094311bf0a93d_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzUyNzM_8ab00971-e9f9-4cd7-8cd7-1615348b6af0"
      unitRef="patent">2</us-gaap:LossContingencyPatentsAllegedlyInfringedNumber>
    <ueic:NumberOfPatentsSubjectToInterPartesReviewIPR
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzEwOTk1MTE2NDY0NTk_d07f3255-e1f0-4a35-bebc-11ddccbbde32"
      unitRef="patent">2</ueic:NumberOfPatentsSubjectToInterPartesReviewIPR>
    <ueic:NumberOfInterPartesReviewIPRRequestsGranted
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzUyOTc_92f0922e-a70e-40c0-8168-dc6c8bed8ce9"
      unitRef="inter_partes_review">12</ueic:NumberOfInterPartesReviewIPRRequestsGranted>
    <ueic:LossContingencyPatentsAllegedlyInfringedAndNotAppealedNumber
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzEwOTk1MTE2NjY4MzU_4c230c12-7ebf-4011-bdc2-d0ef97f4cace"
      unitRef="patent">1</ueic:LossContingencyPatentsAllegedlyInfringedAndNotAppealedNumber>
    <us-gaap:LossContingencyPatentsAllegedlyInfringedNumber
      contextRef="ia7e69374449c4a17a22849d961074be7_D20210408-20210408"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzU4NTM_781ddca5-169e-45d1-8534-044d8be30800"
      unitRef="patent">2</us-gaap:LossContingencyPatentsAllegedlyInfringedNumber>
    <ueic:NumberOfCustomersWithAFiledComplaint
      contextRef="i001001cec1d74cfe97993bd0ca38658b_D20210510-20210510"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzE2NDkyNjc0ODA0NjY_f9ba6f3c-47c1-4dd4-80db-9d94799c82c4"
      unitRef="customer">2</ueic:NumberOfCustomersWithAFiledComplaint>
    <us-gaap:LossContingencyPatentsFoundNotInfringedNumber
      contextRef="i55cee77028854b1d85491ed74901d207_D20210510-20210510"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzE2NDkyNjc0ODA0Njg_3fd50602-97d6-4dcb-bbb7-60a79ca264c5"
      unitRef="patent">1</us-gaap:LossContingencyPatentsFoundNotInfringedNumber>
    <us-gaap:LossContingencyPatentsAllegedlyInfringedNumber
      contextRef="ia7e69374449c4a17a22849d961074be7_D20210408-20210408"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzE2NDkyNjc0ODA0Njk_1c1cacf0-6982-44ef-ae62-ec2f2e7d9e8b"
      unitRef="patent">2</us-gaap:LossContingencyPatentsAllegedlyInfringedNumber>
    <ueic:NumberOfCustomersWithAFiledComplaint
      contextRef="i001001cec1d74cfe97993bd0ca38658b_D20210510-20210510"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzE2NDkyNjc0ODA0Njc_601bb6dd-f164-457d-85f9-92970aa0a04c"
      unitRef="customer">2</ueic:NumberOfCustomersWithAFiledComplaint>
    <us-gaap:LossContingencyPatentsAllegedlyInfringedNumber
      contextRef="i15981c3b899243d2ad492480e1aa217b_D20221201-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzE2NDkyNjc0ODI4MzM_5d75e585-0538-4996-b692-e5f53bfffe5a"
      unitRef="patent">2</us-gaap:LossContingencyPatentsAllegedlyInfringedNumber>
    <ueic:DefinedBenefitPlanPercentageOfEmployeesEligibleForBenefits
      contextRef="i4f9b067a34f34b0fa298debdc497134d_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzExNDQ0_439fe2c2-3e06-4d35-a9cb-e67cf4a17ec2"
      unitRef="number">0.54</ueic:DefinedBenefitPlanPercentageOfEmployeesEligibleForBenefits>
    <ueic:DefinedBenefitPlanRequisiteServicePeriod
      contextRef="ia81141037305457489e62f46a466b45f_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzExNTg0_4a2726fb-b444-4c53-9f9b-bd229d0c8f4e">P5Y</ueic:DefinedBenefitPlanRequisiteServicePeriod>
    <ueic:DefinedBenefitPlanBenefitObligationAccrualTermPerYearOfServiceProvided
      contextRef="ia81141037305457489e62f46a466b45f_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzAvZnJhZzo0NWYzYTY1ODUxN2M0M2IyODY4NTJjYWI5ODBkMjMwNS90ZXh0cmVnaW9uOjQ1ZjNhNjU4NTE3YzQzYjI4Njg1MmNhYjk4MGQyMzA1XzExNzM5_514065f0-5a4a-4c75-9f70-df6ad13ecef4">P15D</ueic:DefinedBenefitPlanBenefitObligationAccrualTermPerYearOfServiceProvided>
    <us-gaap:TreasuryStockTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90ZXh0cmVnaW9uOjQxZjE3MGM3NGM2OTQwNDZhNjA0NjQyYzRjYjMxOTM2XzE2MDI_ab507fbc-1faa-4fc3-8335-5a1ef6fd7ba3">Treasury Stock&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, our Board of Directors authorizes management to repurchase shares of our issued and outstanding common stock. On February 10, 2022, our Board approved a share repurchase program with an effective date of February 22, 2022 (the "February 2022 Program"). Pursuant to the February 2022 Program, we were authorized to repurchase up to 300,000 shares of our common stock until the Program's expiration on May 5, 2022. Per the terms of the February 2022 Program, we could utilize various methods to effect the repurchases, including open market repurchases, negotiated block transactions, accelerated share repurchases or open market solicitations for shares, some or all of which could be effected through Rule 10b5-1 plans. As of May 2, 2022, we repurchased the full 300,000 shares under the February 2022 Program.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We also repurchase shares of our issued and outstanding common stock to satisfy the cost of stock option exercises and/or income tax withholding obligations relating to the stock-based compensation of our employees and directors. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Repurchased shares of our common stock were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:53.578%"/&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.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.524%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Open market shares repurchased&lt;/span&gt;&lt;/td&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;300&#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,151&#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;325&#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;Stock-based compensation related shares repurchased&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;134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;119&#160;&lt;/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;Total shares repurchased&lt;/span&gt;&lt;/td&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;434&#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;1,243&#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;444&#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:15pt"&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 #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:3pt double #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:3pt double #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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of open market shares repurchased&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;9,437&#160;&lt;/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;54,868&#160;&lt;/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,851&#160;&lt;/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;Cost of stock-based compensation related shares repurchased&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;3,598&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,796&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;5,827&#160;&lt;/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;Total cost of shares repurchased&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;13,035&#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;59,664&#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;17,678&#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;Repurchased shares are recorded as shares held in treasury at cost. We hold these shares for future use as management and the Board of Directors deem appropriate.</us-gaap:TreasuryStockTextBlock>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="i81be1732e64c4126b39d561b11d98ddd_I20220222"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90ZXh0cmVnaW9uOjQxZjE3MGM3NGM2OTQwNDZhNjA0NjQyYzRjYjMxOTM2XzU0OTc1NTgxNTc2OQ_96306a82-7f49-4d97-838f-afc4c99747f7"
      unitRef="shares">300000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="i81be1732e64c4126b39d561b11d98ddd_I20220222"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90ZXh0cmVnaW9uOjQxZjE3MGM3NGM2OTQwNDZhNjA0NjQyYzRjYjMxOTM2XzU0OTc1NTgxNTc3Mw_96306a82-7f49-4d97-838f-afc4c99747f7"
      unitRef="shares">300000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:ScheduleOfTreasuryStockByClassTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90ZXh0cmVnaW9uOjQxZjE3MGM3NGM2OTQwNDZhNjA0NjQyYzRjYjMxOTM2XzE2MDQ_e6827407-e757-4464-952c-1190b94b5a9d">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Repurchased shares of our common stock were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:53.578%"/&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.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.524%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Open market shares repurchased&lt;/span&gt;&lt;/td&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;300&#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,151&#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;325&#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;Stock-based compensation related shares repurchased&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;134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;119&#160;&lt;/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;Total shares repurchased&lt;/span&gt;&lt;/td&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;434&#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;1,243&#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;444&#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:15pt"&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 #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:3pt double #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:3pt double #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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of open market shares repurchased&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;9,437&#160;&lt;/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;54,868&#160;&lt;/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,851&#160;&lt;/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;Cost of stock-based compensation related shares repurchased&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;3,598&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,796&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;5,827&#160;&lt;/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;Total cost of shares repurchased&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;13,035&#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;59,664&#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;17,678&#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:ScheduleOfTreasuryStockByClassTextBlock>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="iacf377e18ef74a54bfc00e25cf04bc77_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzItMS0xLTEtNDcxOTA_e5c83ab4-b37a-49e6-93d3-20db4fcaa663"
      unitRef="shares">300000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i0e3d856fadbb412b8bf4024dc3aa2246_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzItMy0xLTEtNDcxOTA_8f5bc1b0-72f6-4fb7-b226-48733a8df010"
      unitRef="shares">1151000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i8451e0a1231e4a638d0d7075db59c768_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzItNS0xLTEtNDcxOTA_dae22bb7-9923-47e6-9eda-b8cac1e2c974"
      unitRef="shares">325000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="if9ff543762414297bfe834b516c96144_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzMtMS0xLTEtNDcxOTA_dc5cd83b-af74-432b-8a76-aa7b06dbbf97"
      unitRef="shares">134000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="ic0307857083041b28b3306b6c812b154_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzMtMy0xLTEtNDcxOTA_7eeb71b5-9159-4f45-9161-c5aa619fbe80"
      unitRef="shares">92000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="idb7ced19b93745a69169442a182d41b3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzMtNS0xLTEtNDcxOTA_0152ab7f-0e84-4020-8c55-61d49657a8ec"
      unitRef="shares">119000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzQtMS0xLTEtNTg0Mzg_8232351f-aa19-4567-9198-e7d8a92803d6"
      unitRef="shares">434000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzQtMy0xLTEtNTg0Mzg_87039560-5641-45b2-9ca8-21be77d80e47"
      unitRef="shares">1243000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzQtNS0xLTEtNTg0Mzg_a077345c-29ab-4bc5-97be-6b31b8563359"
      unitRef="shares">444000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="iacf377e18ef74a54bfc00e25cf04bc77_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzYtMS0xLTEtNTc2ODg_907606a3-b5d6-400b-8de9-96681a86b77b"
      unitRef="usd">9437000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i0e3d856fadbb412b8bf4024dc3aa2246_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzYtMy0xLTEtNTc2OTY_52845c2c-a178-4067-abf1-b7a63ce314ba"
      unitRef="usd">54868000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i8451e0a1231e4a638d0d7075db59c768_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzYtNS0xLTEtNTc3MDQ_24a9c957-c073-423d-8bbb-fe42fc963f6e"
      unitRef="usd">11851000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="if9ff543762414297bfe834b516c96144_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzctMS0xLTEtNTc2ODg_44dd1d59-ec81-486e-8884-6943d23a45bd"
      unitRef="usd">3598000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ic0307857083041b28b3306b6c812b154_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzctMy0xLTEtNTc2OTY_d45a6cbc-cd25-470d-9988-cd04b91be290"
      unitRef="usd">4796000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="idb7ced19b93745a69169442a182d41b3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzctNS0xLTEtNTc3MDQ_124ead94-c0ee-45ef-8dcf-fac196f44daf"
      unitRef="usd">5827000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzgtMS0xLTEtNTg0Mzg_dafdf522-1ac6-433c-85a7-91dc336c4d4f"
      unitRef="usd">13035000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzgtMy0xLTEtNTg0Mzg_57f8b533-7539-4478-ac96-2759a136bfa7"
      unitRef="usd">59664000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzYvZnJhZzo0MWYxNzBjNzRjNjk0MDQ2YTYwNDY0MmM0Y2IzMTkzNi90YWJsZTo2YmJkNWRkYjA1MTg0ZjE4YTM3ZmQ4YjhkODNkODAzNi90YWJsZXJhbmdlOjZiYmQ1ZGRiMDUxODRmMThhMzdmZDhiOGQ4M2Q4MDM2XzgtNS0xLTEtNTg0Mzg_3008f167-4200-470f-86c4-d1cb08e409a5"
      unitRef="usd">17678000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQzODY_8be5256d-5515-448b-b2c9-23797b029212">Stock-Based Compensation&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense for each employee and director is presented in the same statement of operations caption as their cash compensation. Stock-based compensation expense by statement of operations caption and the related income tax benefit 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;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;Cost of sales&lt;/span&gt;&lt;/td&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;155&#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;156&#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;182&#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;Research and development expenses&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;1,342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,099&#160;&lt;/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;Selling, general and administrative 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;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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Employees&lt;/span&gt;&lt;/div&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,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,997&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,257&#160;&lt;/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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outside directors&lt;/span&gt;&lt;/div&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;1,259&#160;&lt;/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,563&#160;&lt;/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,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:2px 1pt;text-align:left;vertical-align: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 employee and director stock-based compensation expense&lt;/span&gt;&lt;/td&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;10,013&#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;9,969&#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;9,122&#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 style="height:15pt"&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;text-align:left;vertical-align: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 benefit&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;1,660&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;1,594&#160;&lt;/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:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 we utilized in the Black-Scholes option pricing model and the resulting weighted average fair value of stock option grants were the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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="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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;Weighted average fair value of grants&lt;/span&gt;&lt;/td&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.51&#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;23.97&#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;17.70&#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="padding:2px 1pt;text-align:left;vertical-align: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="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.93&#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="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;0.41&#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="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.44&#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;/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 volatility&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;49.35&#160;&lt;/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;48.49&#160;&lt;/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;43.95&#160;&lt;/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="padding:2px 1pt;text-align:left;vertical-align: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 life in years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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;4.73&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:right;vertical-align: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.62&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:right;vertical-align: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.59&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&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 was 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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.198%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:4.747%"/&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:4.747%"/&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:5.478%"/&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:4.894%"/&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:4.601%"/&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:4.747%"/&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:5.478%"/&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:4.894%"/&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:4.894%"/&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:4.601%"/&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:5.478%"/&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:4.913%"/&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="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:7pt;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="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:7pt;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="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:7pt;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="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:6pt;font-weight:400;line-height:100%"&gt;Number of Options&lt;br/&gt;(in 000's)&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Exercise Price&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Remaining Contractual Term&lt;br/&gt;(in years)&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:6pt;font-weight:400;line-height:100%"&gt;Aggregate Intrinsic Value&lt;br/&gt;(in 000's)&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:6pt;font-weight:400;line-height:100%"&gt;Number of Options&lt;br/&gt;(in 000's)&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Exercise Price&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Remaining Contractual Term&lt;br/&gt;(in years)&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:6pt;font-weight:400;line-height:100%"&gt;Aggregate Intrinsic Value&lt;br/&gt;(in 000's)&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:6pt;font-weight:400;line-height:100%"&gt;Number of Options&lt;br/&gt;(in 000's)&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Exercise Price&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Remaining Contractual Term&lt;br/&gt;(in years)&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:6pt;font-weight:400;line-height:100%"&gt;Aggregate Intrinsic Value&lt;br/&gt;(in 000's)&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;Outstanding at beginning of the year&lt;/span&gt;&lt;/td&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:6pt;font-weight:400;line-height:100%"&gt;800&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;45.55&#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;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="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:6pt;font-weight:400;line-height:100%"&gt;774&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;43.01&#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;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="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:6pt;font-weight:400;line-height:100%"&gt;745&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;41.73&#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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;Granted&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:6pt;font-weight:400;line-height:100%"&gt;139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:6pt;font-weight:400;line-height:100%"&gt;33.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:6pt;font-weight:400;line-height:100%"&gt;59.43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:6pt;font-weight:400;line-height:100%"&gt;46.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;Exercised&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:6pt;font-weight:400;line-height:100%"&gt;(80)&lt;/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:6pt;font-weight:400;line-height:100%"&gt;19.25&#160;&lt;/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 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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/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:6pt;font-weight:400;line-height:100%"&gt;(54)&lt;/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:6pt;font-weight:400;line-height:100%"&gt;30.04&#160;&lt;/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 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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;931&#160;&lt;/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:6pt;font-weight:400;line-height:100%"&gt;(80)&lt;/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:6pt;font-weight:400;line-height:100%"&gt;35.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;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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;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:6pt;font-weight:400;line-height:100%"&gt;1,334&#160;&lt;/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:6pt;font-weight:400;line-height:100%"&gt;Forfeited/canceled/expired&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:6pt;font-weight:400;line-height:100%"&gt;(77)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:6pt;font-weight:400;line-height:100%"&gt;64.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;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:6pt;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="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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;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:6pt;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="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:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;Outstanding at end of the year &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:3.9pt;font-weight:400;line-height:100%;position:relative;top:-2.1pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&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:6pt;font-weight:400;line-height:100%"&gt;782&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;44.16&#160;&lt;/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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.45&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:6pt;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:6pt;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;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:6pt;font-weight:400;line-height:100%"&gt;800&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;45.55&#160;&lt;/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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.15&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;3,780&#160;&lt;/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;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:6pt;font-weight:400;line-height:100%"&gt;774&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;43.01&#160;&lt;/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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.71&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;9,228&#160;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;Vested and expected to vest at the end of the year &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:3.9pt;font-weight:400;line-height:100%;position:relative;top:-2.1pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&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:6pt;font-weight:400;line-height:100%"&gt;782&#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;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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;44.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.45&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:6pt;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:6pt;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;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:6pt;font-weight:400;line-height:100%"&gt;800&#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;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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;45.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.15&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;3,780&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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: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:6pt;font-weight:400;line-height:100%"&gt;774&#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;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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;43.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.71&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;9,228&#160;&lt;/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:6pt;font-weight:400;line-height:100%"&gt;Exercisable at the end of the year &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:3.9pt;font-weight:400;line-height:100%;position:relative;top:-2.1pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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:6pt;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;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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;45.77&#160;&lt;/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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;2.61&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:6pt;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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;656&#160;&lt;/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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;44.08&#160;&lt;/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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;2.58&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;3,608&#160;&lt;/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:6pt;font-weight:400;line-height:100%"&gt;582&#160;&lt;/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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;43.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;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:6pt;font-weight:400;line-height:100%"&gt;2.98&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;6,887&#160;&lt;/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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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:10.43pt"&gt;The aggregate intrinsic value represents the total pre-tax value (the difference between our closing stock price on the last trading day of 2022, 2021 and 2020 and the exercise price, multiplied by the number of in-the-money options) that would have been received by the option holders had they all exercised their options on December&#160;31, 2022, 2021 and 2020. This amount will change based on the fair market value of our stock. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The value of shares withheld in lieu of receiving cash from option exercises in the years ended December&#160;31, 2022, 2021 and 2020 was $1.5 million, $0.6 million and $2.8 million, respectively. Cash received from option exercises for the year ended December 31, 2021 was $1.0 million. There was no cash received from option exercises for the years ended December&#160;31, 2022 and 2020. The actual tax benefit realized from option exercises was $0.1 million, $0.2 million and $0.3 million for the years ended December&#160;31, 2022, 2021 and 2020, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant option groups outstanding at December&#160;31, 2022 and the related weighted average exercise price and life information were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:36.619%"/&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:9.572%"/&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.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:10.011%"/&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:10.011%"/&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:10.018%"/&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:700;line-height:100%"&gt;Options Outstanding&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:700;line-height:100%"&gt;Options Exercisable&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:700;line-height:100%"&gt;Range of Exercise Prices&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:700;line-height:100%"&gt;Number&lt;br/&gt;Outstanding&lt;br/&gt;(in 000's)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Remaining&#160;&lt;br/&gt;Contractual Term (in years)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Exercise Price&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:700;line-height:100%"&gt;Number&lt;br/&gt;Exercisable&lt;br/&gt;(in 000's)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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;$26.64 to $34.55&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;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;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 colspan="3" style="background-color:#cceeff;border-top:1pt solid #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;4.80&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.12&#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;150&#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;27.07&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$44.95 to $46.17&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;207&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:right;vertical-align: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.60&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.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;45.56&#160;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$51.38 to $62.70&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;285&#160;&lt;/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;2.28&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;57.39&#160;&lt;/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;252&#160;&lt;/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;57.12&#160;&lt;/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-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;782&#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:2px 1pt;text-align:right;vertical-align: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.45&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;44.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;600&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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.77&#160;&lt;/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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 expect to recognize $2.3 million of total unrecognized pre-tax stock-based compensation expense related to non-vested stock options over a remaining weighted-average life of 1.8 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 9, 2023, certain executive employees were granted stock options to acquire, in the aggregate, up to 235,455 shares of our common stock, in connection with the 2022 annual review cycle. The options were granted as part of the executive compensation program and are subject to a three-year vesting period (33.33% on February 9, 2024 and 8.33% each quarter thereafter). The total grant date fair value of these awards was $2.6 million. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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;Non-vested restricted stock award activity was 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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.256%"/&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:8.256%"/&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:8.256%"/&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:8.402%"/&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:8.256%"/&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:9.436%"/&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;line-height:100%"&gt;2020&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="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:700;line-height:100%"&gt;Shares&lt;br/&gt;(in&#160;000's)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair 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:700;line-height:100%"&gt;Shares&lt;br/&gt;(in&#160;000's)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair 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:700;line-height:100%"&gt;Shares&lt;br/&gt;(in&#160;000's)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&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-vested at beginning of the year&lt;/span&gt;&lt;/td&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;310&#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;44.41&#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;border-top:1pt solid #000000;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;374&#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;34.53&#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;border-top:1pt solid #000000;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;310&#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;34.99&#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;Granted&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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.05&#160;&lt;/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;156&#160;&lt;/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;56.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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238&#160;&lt;/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;36.85&#160;&lt;/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;Vested&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;(191)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;41.09&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(211)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;36.35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(166)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;38.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;/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;Forfeited&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;(5)&lt;/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;43.22&#160;&lt;/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;(9)&lt;/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;39.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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/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;43.44&#160;&lt;/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;Non-vested at end of the year&lt;/span&gt;&lt;/td&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;376&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;36.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="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;310&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;44.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;374&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;34.53&#160;&lt;/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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 expect to recognize $8.8 million of total unrecognized pre-tax stock-based compensation expense related to non-vested restricted stock awards over a weighted-average life of 1.7 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2023, certain executives were granted 102,965 restricted stock awards, in the aggregate, in connection with the 2022 annual review cycle. These awards were granted as part of the executive compensation program and are subject to a three-year vesting period (33.33% on February 9, 2024 and 8.33% each quarter thereafter). The total grant date fair value of these awards was $2.6 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Incentive Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our active stock-based incentive plans include those adopted in 2010, 2014 and 2018 ("Stock Incentive Plans"). Under the Stock Incentive Plans, we may grant stock options, stock appreciation rights, restricted stock units, performance stock units, or any combination thereof for a period of ten years from the approval date of each respective plan, unless the plan is terminated by resolution of our Board of Directors. No stock appreciation rights or performance stock units have been awarded under our Stock Incentive Plans. Only directors and employees meeting certain employment qualifications are eligible to receive stock-based awards.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The grant price of stock option and restricted stock awards granted under our Stock Incentive Plans is the average of the high and low trades of our stock on the grant date. We prohibit the re-pricing or backdating of stock options. Our stock options become exercisable in various proportions over a three-year time frame. Stock options have a maximum ten-year term. Restricted stock awards vest in various proportions over a &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQwNTc_37121d75-f597-46a7-bf15-57562ed11555"&gt;one&lt;/span&gt;- to three-year time period.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Detailed information regarding our active Stock Incentive Plans was as follows at December&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:38.812%"/&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:10.157%"/&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:14.104%"/&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:14.104%"/&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:14.549%"/&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:700;line-height:100%"&gt;Name&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;Approval&#160;Date&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;Total&#160;Shares&lt;br/&gt;Available&#160;for&#160;Grant&lt;br/&gt;Under the 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:700;line-height:100%"&gt;Remaining&#160;Shares&lt;br/&gt;Available&#160;for&#160;Grant&lt;br/&gt;Under the 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:700;line-height:100%"&gt;Outstanding&#160;Shares&lt;br/&gt;Granted&lt;br/&gt;Under the Plan&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;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;2010 Stock Incentive 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;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;6/15/2010&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,000,000&#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;&#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;13,219&#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;2014 Stock Incentive 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;6/12/2014&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,100,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;269,891&#160;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2018 Equity and Incentive Compensation Plan &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;6/4/2018&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,196,344&#160;&lt;/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;777,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;875,465&#160;&lt;/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="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="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;777,152&#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;1,158,575&#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:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline"&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:11.2pt"&gt;The 2018 Equity and Incentive Compensation Plan was amended in June 2021 to add an additional 1,100,000 shares, as approved by our stockholders.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQzMTg_523684bf-762a-44b3-95c7-6d569fd72d4a">Stock-based compensation expense by statement of operations caption and the related income tax benefit were as follows:&#160;&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;Cost of sales&lt;/span&gt;&lt;/td&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;155&#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;156&#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;182&#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;Research and development expenses&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;1,342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,099&#160;&lt;/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;Selling, general and administrative 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;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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Employees&lt;/span&gt;&lt;/div&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,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,997&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,257&#160;&lt;/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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outside directors&lt;/span&gt;&lt;/div&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;1,259&#160;&lt;/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,563&#160;&lt;/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,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:2px 1pt;text-align:left;vertical-align: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 employee and director stock-based compensation expense&lt;/span&gt;&lt;/td&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;10,013&#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;9,969&#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;9,122&#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 style="height:15pt"&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;text-align:left;vertical-align: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 benefit&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;1,660&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;1,594&#160;&lt;/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:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i900e714e852e4b32ab2e9b6566f1a1ca_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzItMS0xLTEtNDcxOTA_748bd7e1-79ca-4765-b982-f5681e322ebd"
      unitRef="usd">155000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic4549ea8743c46119620c5210e74e8bb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzItMy0xLTEtNDcxOTA_e5a0af51-8009-442d-8c39-398229dde5fb"
      unitRef="usd">156000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i257991c63ab14175bab6f57bc458a035_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzItNS0xLTEtNDcxOTA_c91a33f9-be31-4193-8d6c-08a9ad4b26af"
      unitRef="usd">182000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i424bbde9304f4f809cc5b68b4a759566_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzMtMS0xLTEtNDcxOTA_31bff630-c474-4207-b42b-5c7b19c79f16"
      unitRef="usd">1342000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i2ddd327f03824d509b56e880990f1947_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzMtMy0xLTEtNDcxOTA_ea26db72-41be-42ba-b008-37448ba0139e"
      unitRef="usd">1253000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i54ae1d30e1d84b278ad5b31a606cf7da_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzMtNS0xLTEtNDcxOTA_61cc1408-8a15-4833-a4f2-4a766f683d52"
      unitRef="usd">1099000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if5926964d8104344b5b8b2bbb2ba3da6_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzUtMS0xLTEtNDcxOTA_8d738ac9-0448-4d77-9922-b9fc7fcf7e8e"
      unitRef="usd">7257000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i368f398bae3145fcaddedf946409c355_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzUtMy0xLTEtNDcxOTA_fe7efd3a-e972-4e94-aab4-349d303c17ca"
      unitRef="usd">6997000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic44e714283834ef1a9b7f76c1440347f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzUtNS0xLTEtNDcxOTA_4f0e3678-cc54-4d29-b853-6005a51b8338"
      unitRef="usd">6257000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5e42a11309364bbfa0c835e54ddf0e5d_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzYtMS0xLTEtNDcxOTA_4073f99e-ccb1-454a-9e4d-b16a56d71c84"
      unitRef="usd">1259000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i606e61a0ae99415d9f8e650eb855766c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzYtMy0xLTEtNDcxOTA_e79a3ac9-525b-4948-811d-f551e9a86f00"
      unitRef="usd">1563000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6369fb76a006469f99e7fb37e26a9c6f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzYtNS0xLTEtNDcxOTA_2c269af6-0dcd-4924-81f4-dbf6df2fb32b"
      unitRef="usd">1584000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzctMS0xLTEtNDcxOTA_37f33c75-b017-44be-805f-167bc4d759fe"
      unitRef="usd">10013000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzctMy0xLTEtNDcxOTA_50558505-4c10-475a-8fc6-b873f69687ed"
      unitRef="usd">9969000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzctNS0xLTEtNDcxOTA_f09366eb-74e2-4dd2-a14a-2dcc5e9ab48f"
      unitRef="usd">9122000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzktMS0xLTEtNDcxOTA_d9dae473-09f7-4430-8d09-41030b4fefa3"
      unitRef="usd">1660000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzktMy0xLTEtNDcxOTA_2fd76561-9c3e-4e63-bc71-22f479634d69"
      unitRef="usd">1718000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo1MGFlNjc4NGUzOWY0MTJkYmM0Y2VjM2RjZTg3ZDE3Mi90YWJsZXJhbmdlOjUwYWU2Nzg0ZTM5ZjQxMmRiYzRjZWMzZGNlODdkMTcyXzktNS0xLTEtNDcxOTA_970b63b4-6c85-4a2f-8b23-81f3ea8020b9"
      unitRef="usd">1594000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQzNDI_82743e08-f759-4e45-8c4b-ad03804a9c30">&lt;div style="text-align:justify"&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 we utilized in the Black-Scholes option pricing model and the resulting weighted average fair value of stock option grants were the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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="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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;Weighted average fair value of grants&lt;/span&gt;&lt;/td&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.51&#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;23.97&#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;17.70&#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="padding:2px 1pt;text-align:left;vertical-align: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="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.93&#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="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;0.41&#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="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.44&#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;/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 volatility&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;49.35&#160;&lt;/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;48.49&#160;&lt;/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;43.95&#160;&lt;/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="padding:2px 1pt;text-align:left;vertical-align: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 life in years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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;4.73&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:right;vertical-align: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.62&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:right;vertical-align: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.59&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzItMS0xLTEtNDcxOTA_7ea2cbc5-7cb1-4a4d-aaf1-08971f6deec6"
      unitRef="usdPerShare">14.51</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzItMy0xLTEtNDcxOTA_235e84e3-abb0-4f0b-8945-56dd6c3f97b1"
      unitRef="usdPerShare">23.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzItNS0xLTEtNDcxOTA_65695560-b049-42a8-b6b0-8930edc5e5d8"
      unitRef="usdPerShare">17.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzMtMS0xLTEtNDcxOTA_a086c50e-8873-42cf-a265-d27fa5b090fa"
      unitRef="number">0.0193</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzMtMy0xLTEtNDcxOTA_507867cb-fb7a-49b1-9ff5-9489d4e34eb2"
      unitRef="number">0.0041</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzMtNS0xLTEtNDcxOTA_81b80bb0-a6d6-4992-a8e7-de7d048b404e"
      unitRef="number">0.0144</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzQtMS0xLTEtNDcxOTA_28eed729-f80b-45e4-83a8-e27ec48d808b"
      unitRef="number">0.4935</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzQtMy0xLTEtNDcxOTA_9893de95-5d96-44e4-ba52-8f17f43dd683"
      unitRef="number">0.4849</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzQtNS0xLTEtNDcxOTA_4731db59-3f95-4cea-8575-05d5d84c40d3"
      unitRef="number">0.4395</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzUtMS0xLTEtNDcxOTA_32c00294-8112-4457-8d54-9f7ccaf9da2b">P4Y8M23D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzUtMy0xLTEtNDcxOTA_1e5d3061-2fd0-4624-864c-1ec21cd9d93f">P4Y7M13D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTpkNTQwMTFlZmFjNDQ0NmJhODI1MDc2NzM3MTdkOGExNC90YWJsZXJhbmdlOmQ1NDAxMWVmYWM0NDQ2YmE4MjUwNzY3MzcxN2Q4YTE0XzUtNS0xLTEtNDcxOTA_b8d94a10-8fc9-4e32-a7f9-03779c00a04b">P4Y7M2D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQzMTY_ef9da516-2f23-4a0c-8c93-a4031826c4d1">&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 was 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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.198%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:4.747%"/&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:4.747%"/&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:5.478%"/&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:4.894%"/&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:4.601%"/&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:4.747%"/&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:5.478%"/&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:4.894%"/&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:4.894%"/&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:4.601%"/&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:5.478%"/&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:4.913%"/&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="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:7pt;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="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:7pt;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="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:7pt;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="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:6pt;font-weight:400;line-height:100%"&gt;Number of Options&lt;br/&gt;(in 000's)&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Exercise Price&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Remaining Contractual Term&lt;br/&gt;(in years)&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:6pt;font-weight:400;line-height:100%"&gt;Aggregate Intrinsic Value&lt;br/&gt;(in 000's)&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:6pt;font-weight:400;line-height:100%"&gt;Number of Options&lt;br/&gt;(in 000's)&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Exercise Price&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Remaining Contractual Term&lt;br/&gt;(in years)&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:6pt;font-weight:400;line-height:100%"&gt;Aggregate Intrinsic Value&lt;br/&gt;(in 000's)&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:6pt;font-weight:400;line-height:100%"&gt;Number of Options&lt;br/&gt;(in 000's)&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Exercise Price&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:6pt;font-weight:400;line-height:100%"&gt;Weighted-Average Remaining Contractual Term&lt;br/&gt;(in years)&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:6pt;font-weight:400;line-height:100%"&gt;Aggregate Intrinsic Value&lt;br/&gt;(in 000's)&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;Outstanding at beginning of the year&lt;/span&gt;&lt;/td&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:6pt;font-weight:400;line-height:100%"&gt;800&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;45.55&#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;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="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:6pt;font-weight:400;line-height:100%"&gt;774&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;43.01&#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;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="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:6pt;font-weight:400;line-height:100%"&gt;745&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;41.73&#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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;Granted&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:6pt;font-weight:400;line-height:100%"&gt;139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:6pt;font-weight:400;line-height:100%"&gt;33.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:6pt;font-weight:400;line-height:100%"&gt;59.43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:6pt;font-weight:400;line-height:100%"&gt;46.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;Exercised&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:6pt;font-weight:400;line-height:100%"&gt;(80)&lt;/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:6pt;font-weight:400;line-height:100%"&gt;19.25&#160;&lt;/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 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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/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:6pt;font-weight:400;line-height:100%"&gt;(54)&lt;/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:6pt;font-weight:400;line-height:100%"&gt;30.04&#160;&lt;/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 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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;931&#160;&lt;/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:6pt;font-weight:400;line-height:100%"&gt;(80)&lt;/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:6pt;font-weight:400;line-height:100%"&gt;35.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;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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;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:6pt;font-weight:400;line-height:100%"&gt;1,334&#160;&lt;/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:6pt;font-weight:400;line-height:100%"&gt;Forfeited/canceled/expired&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:6pt;font-weight:400;line-height:100%"&gt;(77)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:6pt;font-weight:400;line-height:100%"&gt;64.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;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:6pt;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="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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;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:6pt;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="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:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;Outstanding at end of the year &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:3.9pt;font-weight:400;line-height:100%;position:relative;top:-2.1pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&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:6pt;font-weight:400;line-height:100%"&gt;782&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;44.16&#160;&lt;/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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.45&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:6pt;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:6pt;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;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:6pt;font-weight:400;line-height:100%"&gt;800&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;45.55&#160;&lt;/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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.15&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;3,780&#160;&lt;/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;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:6pt;font-weight:400;line-height:100%"&gt;774&#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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;43.01&#160;&lt;/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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.71&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;9,228&#160;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;Vested and expected to vest at the end of the year &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:3.9pt;font-weight:400;line-height:100%;position:relative;top:-2.1pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&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:6pt;font-weight:400;line-height:100%"&gt;782&#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;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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;44.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.45&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:6pt;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:6pt;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;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:6pt;font-weight:400;line-height:100%"&gt;800&#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;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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;45.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.15&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;3,780&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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: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:6pt;font-weight:400;line-height:100%"&gt;774&#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;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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;43.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;3.71&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;9,228&#160;&lt;/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:6pt;font-weight:400;line-height:100%"&gt;Exercisable at the end of the year &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:3.9pt;font-weight:400;line-height:100%;position:relative;top:-2.1pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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:6pt;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;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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;45.77&#160;&lt;/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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;2.61&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:6pt;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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;656&#160;&lt;/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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;44.08&#160;&lt;/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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:100%"&gt;2.58&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;3,608&#160;&lt;/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:6pt;font-weight:400;line-height:100%"&gt;582&#160;&lt;/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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;43.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;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:6pt;font-weight:400;line-height:100%"&gt;2.98&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:6pt;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:6pt;font-weight:400;line-height:100%"&gt;6,887&#160;&lt;/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;/table&gt;&lt;/div&gt;(1)The aggregate intrinsic value represents the total pre-tax value (the difference between our closing stock price on the last trading day of 2022, 2021 and 2020 and the exercise price, multiplied by the number of in-the-money options) that would have been received by the option holders had they all exercised their options on December&#160;31, 2022, 2021 and 2020. This amount will change based on the fair market value of our stock.</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzItMS0xLTEtNDcxOTA_246d53d3-fbc0-4883-830b-6890122936ae"
      unitRef="shares">800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzItMy0xLTEtNDcxOTA_bb5fcab7-9e50-48f2-818e-956e6d9c2562"
      unitRef="usdPerShare">45.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzItOS0xLTEtNDcxOTA_b8b4258f-acb2-45c7-86cd-31ac6a431e7f"
      unitRef="shares">774000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzItMTEtMS0xLTQ3MTkw_06f16eb2-8a6b-4e2e-8e48-b884761eb486"
      unitRef="usdPerShare">43.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i2b3debd26b59457c8436e5e4076ec943_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzItMTctMS0xLTQ3MTkw_e922ef7b-89a9-47b4-bfd8-eb6bf585dabf"
      unitRef="shares">745000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i2b3debd26b59457c8436e5e4076ec943_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzItMTktMS0xLTQ3MTkw_0884a4b9-c0f8-48ff-a7e4-f0ccdc01d353"
      unitRef="usdPerShare">41.73</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzMtMS0xLTEtNDcxOTA_cdb1dd16-3389-4e1c-ad68-714b971252c5"
      unitRef="shares">139000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzMtMy0xLTEtNDcxOTA_e9ab16b4-c8d7-410e-b303-f95c71a117a6"
      unitRef="usdPerShare">33.42</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzMtOS0xLTEtNDcxOTA_beed2a2a-3bf7-454c-bddd-6862efdcb08e"
      unitRef="shares">80000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzMtMTEtMS0xLTQ3MTkw_ca007209-fa61-48b3-9d5c-fbbffd3b50a9"
      unitRef="usdPerShare">59.43</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzMtMTctMS0xLTQ3MTkw_52cfb434-901a-4ab6-9a65-a06446996d1a"
      unitRef="shares">109000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzMtMTktMS0xLTQ3MTkw_98523a9b-046d-4a7b-bc83-20b8f340c9ec"
      unitRef="usdPerShare">46.17</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzQtMS0xLTEtNDcxOTA_e77c48e6-6b54-462d-9f89-9568dc121f54"
      unitRef="shares">80000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzQtMy0xLTEtNDcxOTA_21742e78-83c1-4044-aa6d-fe3e8ebe6821"
      unitRef="usdPerShare">19.25</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzQtNy0xLTEtNDcxOTA_5ceca479-1077-4177-a5fb-c2e51367c5b9"
      unitRef="usd">292000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzQtOS0xLTEtNDcxOTA_2dc721b1-3131-4e07-8153-fb94dc66cb55"
      unitRef="shares">54000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzQtMTEtMS0xLTQ3MTkw_46f634cc-8373-433e-941c-8ad13265af21"
      unitRef="usdPerShare">30.04</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzQtMTUtMS0xLTQ3MTkw_b3922f4b-a092-447b-9972-fae87e3ab597"
      unitRef="usd">931000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzQtMTctMS0xLTQ3MTkw_0532e919-622f-483f-bc19-0d5eb4dec4af"
      unitRef="shares">80000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzQtMTktMS0xLTQ3MTkw_f9a6db25-9715-4849-b79c-9ec13d66e7f4"
      unitRef="usdPerShare">35.28</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzQtMjMtMS0xLTQ3MTkw_9df6df97-6854-45fe-8a7d-7ebe2f6b9326"
      unitRef="usd">1334000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzUtMS0xLTEtNDcxOTA_3579adcf-b731-49e5-80c6-d9c93169e790"
      unitRef="shares">77000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzUtMy0xLTEtNDcxOTA_0d1eaf88-4c13-4227-b7b0-3fe9e00e424a"
      unitRef="usdPerShare">64.81</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzUtOS0xLTEtNDcxOTA_01a61d28-747a-483b-b3ed-0d386cafc4ea"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzUtMTEtMS0xLTQ3MTkw_f86eaab8-4be9-4555-9e4e-73f52baf5b4b"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzUtMTctMS0xLTQ3MTkw_9c54740d-5ce6-4f19-8617-22a09d8f2379"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzUtMTktMS0xLTQ3MTkw_725dfae9-e93e-41c1-bdba-20ada52277a4"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtMS0xLTEtNDcxOTA_5871b0c9-a120-45eb-be30-0aba469cfee0"
      unitRef="shares">782000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtMy0xLTEtNDcxOTA_1ee2a1f3-cb88-4adc-affb-6b3a46d5f50e"
      unitRef="usdPerShare">44.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtNS0xLTEtNDcxOTA_88a53ac3-8946-49ec-be87-95204d28e53c">P3Y5M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtNy0xLTEtNDcxOTA_716f506d-9b81-413c-818f-d84baf33a229"
      unitRef="usd">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtOS0xLTEtNDcxOTA_cb564b9f-23ff-47a8-b61e-13264a913a2f"
      unitRef="shares">800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtMTEtMS0xLTQ3MTkw_fe1fa60c-9944-438f-8fa6-a0a1926d8963"
      unitRef="usdPerShare">45.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtMTMtMS0xLTQ3MTkw_303f6dee-7b2b-4945-96ac-47c78ff8206c">P3Y1M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtMTUtMS0xLTQ3MTkw_35d2e208-a752-4d06-bcdc-2dfbabc259a9"
      unitRef="usd">3780000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtMTctMS0xLTQ3MTkw_26178a36-4726-4e59-aaef-566ceafb951b"
      unitRef="shares">774000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtMTktMS0xLTQ3MTkw_1c809027-b929-4b44-b169-d9acabc6e147"
      unitRef="usdPerShare">43.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtMjEtMS0xLTQ3MTkw_559c806f-0514-4164-b9ed-611a1a4e4b5d">P3Y8M15D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzYtMjMtMS0xLTQ3MTkw_47c531a2-6e85-453f-8d8c-d2bdd212dc68"
      unitRef="usd">9228000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctMS0xLTEtNDcxOTA_dc4f7827-54f1-49f4-b715-be1bf477507e"
      unitRef="shares">782000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctMy0xLTEtNDcxOTA_6d12309b-82c5-41f4-940e-2fa86a5023c0"
      unitRef="usdPerShare">44.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctNS0xLTEtNDcxOTA_93357533-f5c9-4fbe-9540-d558b26d0340">P3Y5M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctNy0xLTEtNDcxOTA_4bd0ecd0-6fb7-4785-b501-32afbede2876"
      unitRef="usd">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctOS0xLTEtNDcxOTA_3a72124a-8b8f-44cc-ad55-346eca25f1e8"
      unitRef="shares">800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctMTEtMS0xLTQ3MTkw_000ef8c4-1774-4839-9cfe-b92d9f13d026"
      unitRef="usdPerShare">45.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctMTMtMS0xLTQ3MTkw_3e8d61b5-651a-4f97-97af-70b9b0e644f4">P3Y1M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctMTUtMS0xLTQ3MTkw_96ff9eaa-d0e6-408d-96a9-bcde00265183"
      unitRef="usd">3780000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctMTctMS0xLTQ3MTkw_60dd13d0-ace2-4766-8523-fac65c1be518"
      unitRef="shares">774000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctMTktMS0xLTQ3MTkw_7de67971-babb-4f65-beb7-172a118c19e5"
      unitRef="usdPerShare">43.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctMjEtMS0xLTQ3MTkw_02d65166-ba66-421e-82a3-7303b0fcd49b">P3Y8M15D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzctMjMtMS0xLTQ3MTkw_089bccd9-e257-413b-9275-2942377c6ffc"
      unitRef="usd">9228000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtMS0xLTEtNDcxOTA_c58e96b7-c203-4924-9f62-cb48dbea2f74"
      unitRef="shares">600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtMy0xLTEtNDcxOTA_90df3ab2-2d98-402a-b36e-33a62f29e1dd"
      unitRef="usdPerShare">45.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtNS0xLTEtNDcxOTA_c1ec4c2b-ff1b-4558-907d-c2b8cf537ac0">P2Y7M9D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtNy0xLTEtNDcxOTA_9fb59e65-b436-44ee-9bb0-2559819e0273"
      unitRef="usd">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtOS0xLTEtNDcxOTA_85768099-b256-4f49-8061-41d26c7992aa"
      unitRef="shares">656000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtMTEtMS0xLTQ3MTkw_b93bed40-7142-40e7-a5e4-aca734bec1af"
      unitRef="usdPerShare">44.08</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtMTMtMS0xLTQ3MTkw_61583372-6cea-4dcb-b4f2-08bf9db96324">P2Y6M29D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtMTUtMS0xLTQ3MTkw_50532521-b221-4f0b-9311-634f1764d6a7"
      unitRef="usd">3608000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtMTctMS0xLTQ3MTkw_4968fde3-ae56-4d84-b702-4101f1fa89cc"
      unitRef="shares">582000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtMTktMS0xLTQ3MTkw_4de61abf-26fe-4de0-b6d5-6a00ea923673"
      unitRef="usdPerShare">43.90</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtMjEtMS0xLTQ3MTkw_3179168e-a293-4ec4-af3b-883fd3fc667f">P2Y11M23D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo4Yzc2YmU4NjVjNWM0NmI1OWE2MDFlMmVmMzVkNzdkMC90YWJsZXJhbmdlOjhjNzZiZTg2NWM1YzQ2YjU5YTYwMWUyZWYzNWQ3N2QwXzgtMjMtMS0xLTQ3MTkw_4d59cb61-ab21-4e88-93d0-cb4571b3685d"
      unitRef="usd">6887000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <ueic:ProceedsFromStockOptionsExercisedValueOfSharesWithheldInLieuOfCash
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzEwNDY_746d2e14-4c40-44d3-b9c7-38bd190ef2a1"
      unitRef="usd">1500000</ueic:ProceedsFromStockOptionsExercisedValueOfSharesWithheldInLieuOfCash>
    <ueic:ProceedsFromStockOptionsExercisedValueOfSharesWithheldInLieuOfCash
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzEwNTM_7084652a-b1ff-4bc2-bf03-16933a1065ea"
      unitRef="usd">600000</ueic:ProceedsFromStockOptionsExercisedValueOfSharesWithheldInLieuOfCash>
    <ueic:ProceedsFromStockOptionsExercisedValueOfSharesWithheldInLieuOfCash
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzM4NDgyOTA3MDQ4MDQ_2198d395-5ba1-487f-b092-5d29a371670c"
      unitRef="usd">2800000</ueic:ProceedsFromStockOptionsExercisedValueOfSharesWithheldInLieuOfCash>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzU0OTc1NTgxODI4Mg_23822d4c-d308-47a2-a2ab-34a69a44264d"
      unitRef="usd">1000000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzEwOTk1MTE2MzUzNzI_c840f92f-e19d-47f9-8fa0-19488dc84929"
      unitRef="usd">0</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzEwOTk1MTE2MzUzNzI_f8e2280d-49de-41c6-a2ce-692f4701e39a"
      unitRef="usd">0</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzEyOTY_6ae3c521-6acc-48f7-8232-1acdbc5aa3a5"
      unitRef="usd">100000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzEzMDA_ecb29b8d-ddf2-4640-8fbd-0419c9367619"
      unitRef="usd">200000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzEzMDc_870d8cc8-7fa9-44ef-8c7f-d1b2da409266"
      unitRef="usd">300000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQzNTU_03a6b76f-d6c4-44de-94af-762d3461dad4">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant option groups outstanding at December&#160;31, 2022 and the related weighted average exercise price and life information were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:36.619%"/&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:9.572%"/&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.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:10.011%"/&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:10.011%"/&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:10.018%"/&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:700;line-height:100%"&gt;Options Outstanding&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:700;line-height:100%"&gt;Options Exercisable&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:700;line-height:100%"&gt;Range of Exercise Prices&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:700;line-height:100%"&gt;Number&lt;br/&gt;Outstanding&lt;br/&gt;(in 000's)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Remaining&#160;&lt;br/&gt;Contractual Term (in years)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Exercise Price&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:700;line-height:100%"&gt;Number&lt;br/&gt;Exercisable&lt;br/&gt;(in 000's)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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;$26.64 to $34.55&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;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;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 colspan="3" style="background-color:#cceeff;border-top:1pt solid #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;4.80&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.12&#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;150&#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;27.07&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$44.95 to $46.17&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;207&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:right;vertical-align: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.60&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.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;45.56&#160;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$51.38 to $62.70&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;285&#160;&lt;/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;2.28&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;57.39&#160;&lt;/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;252&#160;&lt;/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;57.12&#160;&lt;/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-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;782&#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:2px 1pt;text-align:right;vertical-align: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.45&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;44.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;600&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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.77&#160;&lt;/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:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="i03f5720e1d1746358a7d867d3c3a7ea6_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzItMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjplODM4ZjcxNDNjOTc0YTQwODkxODAxNjI1NDg0NTQ5ZV81_a7c93e6f-a36c-4c18-9527-c98db6411ada"
      unitRef="usdPerShare">26.64</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="i03f5720e1d1746358a7d867d3c3a7ea6_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzItMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjplODM4ZjcxNDNjOTc0YTQwODkxODAxNjI1NDg0NTQ5ZV8xMg_17460ac3-c645-4906-9eb9-08076d21ab13"
      unitRef="usdPerShare">34.55</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i278fbd4ab49141a8945acaec18df7458_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzItMi0xLTEtNDcxOTA_3d725eb0-d7bf-433c-aefd-b0b9bde14296"
      unitRef="shares">290000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i03f5720e1d1746358a7d867d3c3a7ea6_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzItNC0xLTEtNDcxOTA_5f3d414c-e2ae-4d36-b579-da60783483b3">P4Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i278fbd4ab49141a8945acaec18df7458_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzItNi0xLTEtNDcxOTA_0d1fc642-c694-4833-850f-3a83b5a71d9f"
      unitRef="usdPerShare">30.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i278fbd4ab49141a8945acaec18df7458_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzItOC0xLTEtNDcxOTA_dae27c97-8e82-4def-95dd-64753d728462"
      unitRef="shares">150000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i278fbd4ab49141a8945acaec18df7458_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzItMTAtMS0xLTQ3MTkw_0a56c9e0-e48a-4dbd-882c-798037977198"
      unitRef="usdPerShare">27.07</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="iad99f24f7d454e52853ffbb41688e439_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzMtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjoxYmZhOGI1MjJkZGQ0Nzg4ODJmMDlmNTg5ZWRmOGRjOV81_88dcc09d-25b3-4222-8dd8-177979be38f8"
      unitRef="usdPerShare">44.95</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="iad99f24f7d454e52853ffbb41688e439_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzMtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjoxYmZhOGI1MjJkZGQ0Nzg4ODJmMDlmNTg5ZWRmOGRjOV8xMg_7af1ffdc-331b-4a27-aa73-a99d16a2f243"
      unitRef="usdPerShare">46.17</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i10f0ac5abb674281b936fdf2f2f28eb8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzMtMi0xLTEtNDcxOTA_409177d0-b7f1-4be7-95ff-6bd8110a318b"
      unitRef="shares">207000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="iad99f24f7d454e52853ffbb41688e439_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzMtNC0xLTEtNDcxOTA_2ddf8fe5-5f37-46ca-b1e6-552e7b924bd9">P3Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i10f0ac5abb674281b936fdf2f2f28eb8_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzMtNi0xLTEtNDcxOTA_ab717dc4-e63b-46bd-aa37-5baf585f90ae"
      unitRef="usdPerShare">45.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i10f0ac5abb674281b936fdf2f2f28eb8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzMtOC0xLTEtNDcxOTA_5ac5c08c-60f2-449b-a85d-8470958ddda4"
      unitRef="shares">198000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i10f0ac5abb674281b936fdf2f2f28eb8_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzMtMTAtMS0xLTQ3MTkw_09e015cd-fb82-48a4-b4ff-73f149c5c4b9"
      unitRef="usdPerShare">45.56</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="if5e3945969de45f593c44912e3c7808e_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzQtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjozOGVmNTQ0MmQ0YjQ0NDgwYmU3NWFlYTBkMmI2OWEyZV81_e58e8c46-5050-4a5c-aac1-3d30c2900dee"
      unitRef="usdPerShare">51.38</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="if5e3945969de45f593c44912e3c7808e_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzQtMC0xLTEtNDcxOTAvdGV4dHJlZ2lvbjozOGVmNTQ0MmQ0YjQ0NDgwYmU3NWFlYTBkMmI2OWEyZV8xMg_95b28f4f-7bb3-4dbc-9bea-259d3e2799af"
      unitRef="usdPerShare">62.70</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i40ae19a4c23f4be7a370f30e3cd10564_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzQtMi0xLTEtNDcxOTA_f35c1d67-c9de-4647-ad05-757aa0336fe3"
      unitRef="shares">285000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="if5e3945969de45f593c44912e3c7808e_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzQtNC0xLTEtNDcxOTA_9c40c1e2-e384-4e48-b051-4d1071ba91ec">P2Y3M10D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i40ae19a4c23f4be7a370f30e3cd10564_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzQtNi0xLTEtNDcxOTA_d7825139-d8cf-4c02-a055-1d7965b1d88f"
      unitRef="usdPerShare">57.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i40ae19a4c23f4be7a370f30e3cd10564_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzQtOC0xLTEtNDcxOTA_be072dac-494c-4aa1-b217-78a3d152c819"
      unitRef="shares">252000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i40ae19a4c23f4be7a370f30e3cd10564_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzQtMTAtMS0xLTQ3MTkw_9791a8b5-1c9a-4ea4-9066-3a78d8482624"
      unitRef="usdPerShare">57.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzUtMi0xLTEtNDcxOTA_9345678c-6f9e-42b0-854d-3a8a5dc7eeb6"
      unitRef="shares">782000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzUtNC0xLTEtNDcxOTA_c59e4a01-47c8-44a0-92d3-d121c9b74a28">P3Y5M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzUtNi0xLTEtNDcxOTA_5aff790f-a95d-4d21-90ce-775fcead3c04"
      unitRef="usdPerShare">44.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzUtOC0xLTEtNDcxOTA_cf6eee09-76f3-42e0-b1e9-d6e40ed795e3"
      unitRef="shares">600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo5NmQ2YWQxY2I4NmY0Yjg2YTNmOThjZGYxOTJmMGRiYy90YWJsZXJhbmdlOjk2ZDZhZDFjYjg2ZjRiODZhM2Y5OGNkZjE5MmYwZGJjXzUtMTAtMS0xLTQ3MTkw_488041ad-9217-4478-8bf7-051557f5f6e1"
      unitRef="usdPerShare">45.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i9bddf7785f22407b9bf7a74c5f368ea8_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzE1Mjc_8d416928-9b3d-4cca-a365-187b6cdb5764"
      unitRef="usd">2300000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ib95ebf7d866a42c082fac093adc20cee_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzE2NzE_2592deca-4a6f-4cbb-b8bf-7d99364b3a6c">P1Y9M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i8e16ce50bbb44192813836d0a0a27991_D20230209-20230209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzE3Mzk_20e44f02-f1e4-4a36-9441-d9b4082af73b"
      unitRef="shares">235455</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ief4cd253158e49998f4966802326d288_D20230209-20230209"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQzMjM_a741648e-21ac-4941-93e9-04cbe6afb3d6">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="ic48c45e251794c499d228f1dac5211a9_D20230209-20230209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzIwMDM_5b1e12a9-7ad3-4bec-a215-4ca483e60c20"
      unitRef="number">0.3333</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i8abb358f8ac945589de64beb71075497_D20230209-20230209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzIwMzE_c54a6f2d-3b02-4e47-bc4d-e4f25a142256"
      unitRef="number">0.0833</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <ueic:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGrantDateFairValue
      contextRef="ief4cd253158e49998f4966802326d288_D20230209-20230209"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzIxMTI_b10c13aa-e0a3-41d3-91f1-e10490920998"
      unitRef="usd">2600000</ueic:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGrantDateFairValue>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQzODQ_cc9626b2-b699-4651-b237-0b43652d42c9">&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;Non-vested restricted stock award activity was 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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.256%"/&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:8.256%"/&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:8.256%"/&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:8.402%"/&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:8.256%"/&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:9.436%"/&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;line-height:100%"&gt;2020&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="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:700;line-height:100%"&gt;Shares&lt;br/&gt;(in&#160;000's)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair 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:700;line-height:100%"&gt;Shares&lt;br/&gt;(in&#160;000's)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair 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:700;line-height:100%"&gt;Shares&lt;br/&gt;(in&#160;000's)&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:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&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-vested at beginning of the year&lt;/span&gt;&lt;/td&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;310&#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;44.41&#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;border-top:1pt solid #000000;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;374&#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;34.53&#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;border-top:1pt solid #000000;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;310&#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;34.99&#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;Granted&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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.05&#160;&lt;/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;156&#160;&lt;/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;56.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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238&#160;&lt;/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;36.85&#160;&lt;/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;Vested&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;(191)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;41.09&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(211)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;36.35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(166)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;38.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;/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;Forfeited&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;(5)&lt;/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;43.22&#160;&lt;/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;(9)&lt;/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;39.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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/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;43.44&#160;&lt;/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;Non-vested at end of the year&lt;/span&gt;&lt;/td&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;376&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;36.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="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;310&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;44.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;374&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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;34.53&#160;&lt;/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:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzItMS0xLTEtNDcxOTA_714cec96-0f6e-4d2c-80aa-67d33816336b"
      unitRef="shares">310000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzItMy0xLTEtNDcxOTA_8cdfa3f4-4fc5-4aea-abe7-2f0ad841347c"
      unitRef="usdPerShare">44.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzItNS0xLTEtNDcxOTA_084a1ff9-3a48-43ad-bda5-f07afd356ad2"
      unitRef="shares">374000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzItNy0xLTEtNDcxOTA_356e7c99-aa22-4c73-afe2-7b86a757807b"
      unitRef="usdPerShare">34.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i2b3debd26b59457c8436e5e4076ec943_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzItOS0xLTEtNDcxOTA_a4645a65-3a38-4a85-955d-bccaae756210"
      unitRef="shares">310000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i2b3debd26b59457c8436e5e4076ec943_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzItMTEtMS0xLTQ3MTkw_a0a4bb6d-416d-4ea2-8464-a7fabd2d846d"
      unitRef="usdPerShare">34.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzMtMS0xLTEtNDcxOTA_40a86811-cd2d-4214-857d-5b42534c9ee1"
      unitRef="shares">262000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzMtMy0xLTEtNDcxOTA_59f19254-2f00-40b9-9dd8-9f8e3aa03c13"
      unitRef="usdPerShare">31.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzMtNS0xLTEtNDcxOTA_7c4a50ce-55ec-4194-b485-877edc4528c9"
      unitRef="shares">156000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzMtNy0xLTEtNDcxOTA_06505fc0-d6c5-43a0-a7bb-e8e8b1339d66"
      unitRef="usdPerShare">56.90</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzMtOS0xLTEtNDcxOTA_a929724e-3a65-4476-a9fa-cf79dc825b0a"
      unitRef="shares">238000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzMtMTEtMS0xLTQ3MTkw_42cead7c-36ae-44f8-9259-13ae492586dd"
      unitRef="usdPerShare">36.85</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzQtMS0xLTEtNDcxOTA_4e51600d-8ed0-4ea0-8aee-871a99dd97ef"
      unitRef="shares">191000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzQtMy0xLTEtNDcxOTA_1c5eeef1-b47b-49c0-a931-54b247b7ec1e"
      unitRef="usdPerShare">41.09</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzQtNS0xLTEtNDcxOTA_e8a14bf8-95d7-4c02-8bd1-2e68fe9ad0a2"
      unitRef="shares">211000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzQtNy0xLTEtNDcxOTA_987e4196-e1b0-435c-8573-58bbe98a9c4b"
      unitRef="usdPerShare">36.35</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzQtOS0xLTEtNDcxOTA_efb9d921-a1da-4bee-9650-3800939465b7"
      unitRef="shares">166000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzQtMTEtMS0xLTQ3MTkw_259fe18c-fa86-41c9-90d9-82583ba7d73e"
      unitRef="usdPerShare">38.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzUtMS0xLTEtNDcxOTA_87a45696-d137-4a79-ae39-e852b3a109f9"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzUtMy0xLTEtNDcxOTA_f98da514-a6ee-4c04-81a4-a3cca1e29c40"
      unitRef="usdPerShare">43.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzUtNS0xLTEtNDcxOTA_f01de8f2-3be4-4d64-922f-6dda527d6a40"
      unitRef="shares">9000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzUtNy0xLTEtNDcxOTA_171eee32-4dec-4adb-891f-73d449012458"
      unitRef="usdPerShare">39.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzUtOS0xLTEtNDcxOTA_c0bde4a7-3f1f-44f6-94ab-9040b2383314"
      unitRef="shares">8000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzUtMTEtMS0xLTQ3MTkw_60cb1585-3483-447a-b78b-c164fe93e236"
      unitRef="usdPerShare">43.44</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzYtMS0xLTEtNDcxOTA_d1f045d4-c495-4a2b-aae9-1c37d9025a3f"
      unitRef="shares">376000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzYtMy0xLTEtNDcxOTA_b95ce5e5-18e7-4b58-a9ce-70835179872f"
      unitRef="usdPerShare">36.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzYtNS0xLTEtNDcxOTA_f9608017-66f9-47a4-a244-76aa38d0c00c"
      unitRef="shares">310000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i0895bebba28644c3b98d6aed3915b2f7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzYtNy0xLTEtNDcxOTA_dc9c89ab-8ac1-4a64-8d6e-a5e26b62d19e"
      unitRef="usdPerShare">44.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzYtOS0xLTEtNDcxOTA_cd577999-7725-4531-b03e-221b3b0e340f"
      unitRef="shares">374000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i12fb3e189b7c4d13806cbe95a78923d2_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTo3MDFmMmFkNjVkYTU0MDUwOTMzMzM4MzBkYzMzZWFlMi90YWJsZXJhbmdlOjcwMWYyYWQ2NWRhNTQwNTA5MzMzMzgzMGRjMzNlYWUyXzYtMTEtMS0xLTQ3MTkw_fa787ca9-8ae6-409a-961e-8639b370dc73"
      unitRef="usdPerShare">34.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="ie2e5d94bfe0049e9ae9b874c48ed9c1d_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzIyMzE_0f01171d-6e90-4fa9-ac6b-58ea5d5601e2"
      unitRef="usd">8800000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ia179cb0ef5e4439a95071fe37c0e95a6_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzIzNzU_ec99829f-a852-41c1-8e59-74b1ad3bc327">P1Y8M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ic614a7e8c14c4535a728dfc02fe5b99b_D20230201-20230228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzI0NTA_a9772d93-217b-4376-9812-570b7436a44c"
      unitRef="shares">102965</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ic614a7e8c14c4535a728dfc02fe5b99b_D20230201-20230228"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQzNzY_8837e16c-e3c4-4dac-b84c-4c24616daec4">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i3aa97d97b2c54a3ab2f96a1b7ed5ebc9_D20230201-20230228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzI3NTQ_eab10d3d-2b52-4d96-98d3-7459c8b83f7a"
      unitRef="number">0.3333</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i78e39ebbaa8e43439bb8c1b81847ada6_D20230201-20230228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzI3ODI_e783d6b2-45ee-4792-8454-5548a0857809"
      unitRef="number">0.0833</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <ueic:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantDateFairValue
      contextRef="ic614a7e8c14c4535a728dfc02fe5b99b_D20230201-20230228"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzI5NTI_05264c8f-e1d0-4f8c-ba3e-12fa58a84173"
      unitRef="usd">2600000</ueic:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzMyODM_ed34cd40-fdae-461a-b20b-49972bd54118">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <ueic:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardsCumulativeGrantsToDate
      contextRef="ib688cb0af453470682d4589a67c8ff79_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzM0MDU_c272b43a-dcb7-4f8c-b120-5adb6b44d367"
      unitRef="shares">0</ueic:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardsCumulativeGrantsToDate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i1bef67d38c8f44bbb0ee87ab39f93ff8_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzE2NDkyNjc0NDk0Njc_d9f2fe94-c736-4be5-8ea2-7d4de6389e5b">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="ib95ebf7d866a42c082fac093adc20cee_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQzNDU_cf641cc4-b9ba-46e6-9076-91900b0f7d8e">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i33a06b8fc8594b1faa15382e851af140_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQzNzE_2b0b3945-9240-48ee-8e60-9ceb803602ac">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQzNjI_86b98e5c-970c-4e07-a8d0-0440a6c312f5">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Detailed information regarding our active Stock Incentive Plans was as follows at December&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:38.812%"/&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:10.157%"/&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:14.104%"/&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:14.104%"/&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:14.549%"/&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:700;line-height:100%"&gt;Name&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;Approval&#160;Date&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;Total&#160;Shares&lt;br/&gt;Available&#160;for&#160;Grant&lt;br/&gt;Under the 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:700;line-height:100%"&gt;Remaining&#160;Shares&lt;br/&gt;Available&#160;for&#160;Grant&lt;br/&gt;Under the 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:700;line-height:100%"&gt;Outstanding&#160;Shares&lt;br/&gt;Granted&lt;br/&gt;Under the Plan&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;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;2010 Stock Incentive 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;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;6/15/2010&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,000,000&#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;&#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;13,219&#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;2014 Stock Incentive 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;6/12/2014&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,100,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;269,891&#160;&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2018 Equity and Incentive Compensation Plan &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;6/4/2018&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,196,344&#160;&lt;/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;777,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;875,465&#160;&lt;/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="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="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;777,152&#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;1,158,575&#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:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline"&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:11.2pt"&gt;The 2018 Equity and Incentive Compensation Plan was amended in June 2021 to add an additional 1,100,000 shares, as approved by our stockholders.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i9c1d4cf0a19b4237b5676eec97414300_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTozMjY4NmRlZGZlZGQ0NmM2OTIwNDgwZjU4YWYxZjI5Yy90YWJsZXJhbmdlOjMyNjg2ZGVkZmVkZDQ2YzY5MjA0ODBmNThhZjFmMjljXzMtNC0xLTEtNDcxOTA_7a290f23-8fd4-4802-99e4-036c4b90ee42"
      unitRef="shares">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i9c1d4cf0a19b4237b5676eec97414300_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTozMjY4NmRlZGZlZGQ0NmM2OTIwNDgwZjU4YWYxZjI5Yy90YWJsZXJhbmdlOjMyNjg2ZGVkZmVkZDQ2YzY5MjA0ODBmNThhZjFmMjljXzMtNi0xLTEtNDcxOTA_404a7f56-35e9-4d57-ad81-ffdd56a9099b"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <ueic:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsandEquityInstrumentsOtherThanOptionsOutstandingNumber
      contextRef="i9c1d4cf0a19b4237b5676eec97414300_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTozMjY4NmRlZGZlZGQ0NmM2OTIwNDgwZjU4YWYxZjI5Yy90YWJsZXJhbmdlOjMyNjg2ZGVkZmVkZDQ2YzY5MjA0ODBmNThhZjFmMjljXzMtOC0xLTEtNDcxOTA_5450785c-4717-42ac-88a8-11935688e4f8"
      unitRef="shares">13219</ueic:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsandEquityInstrumentsOtherThanOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i9c2a75fbd74f4da5a33f4c2a9b7a2d84_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTozMjY4NmRlZGZlZGQ0NmM2OTIwNDgwZjU4YWYxZjI5Yy90YWJsZXJhbmdlOjMyNjg2ZGVkZmVkZDQ2YzY5MjA0ODBmNThhZjFmMjljXzQtNC0xLTEtNDcxOTA_d424c982-d658-4c39-8c06-0d69e3e37676"
      unitRef="shares">1100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i9c2a75fbd74f4da5a33f4c2a9b7a2d84_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTozMjY4NmRlZGZlZGQ0NmM2OTIwNDgwZjU4YWYxZjI5Yy90YWJsZXJhbmdlOjMyNjg2ZGVkZmVkZDQ2YzY5MjA0ODBmNThhZjFmMjljXzQtNi0xLTEtNDcxOTA_255866d2-2732-48bf-b050-045d39e960e0"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <ueic:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsandEquityInstrumentsOtherThanOptionsOutstandingNumber
      contextRef="i9c2a75fbd74f4da5a33f4c2a9b7a2d84_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTozMjY4NmRlZGZlZGQ0NmM2OTIwNDgwZjU4YWYxZjI5Yy90YWJsZXJhbmdlOjMyNjg2ZGVkZmVkZDQ2YzY5MjA0ODBmNThhZjFmMjljXzQtOC0xLTEtNDcxOTA_86784d74-0a7e-4c91-abaf-b0ea9488dbdb"
      unitRef="shares">269891</ueic:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsandEquityInstrumentsOtherThanOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i2b7ee548331942b6804d203dcd8bde5d_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTozMjY4NmRlZGZlZGQ0NmM2OTIwNDgwZjU4YWYxZjI5Yy90YWJsZXJhbmdlOjMyNjg2ZGVkZmVkZDQ2YzY5MjA0ODBmNThhZjFmMjljXzUtNC0xLTEtNDcxOTA_c5f24a6f-e986-43c2-bc47-c98a646b9398"
      unitRef="shares">2196344</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i2b7ee548331942b6804d203dcd8bde5d_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTozMjY4NmRlZGZlZGQ0NmM2OTIwNDgwZjU4YWYxZjI5Yy90YWJsZXJhbmdlOjMyNjg2ZGVkZmVkZDQ2YzY5MjA0ODBmNThhZjFmMjljXzUtNi0xLTEtNDcxOTA_60ecba64-d3b2-4d83-bb15-fcfcee8c85fb"
      unitRef="shares">777152</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <ueic:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsandEquityInstrumentsOtherThanOptionsOutstandingNumber
      contextRef="i2b7ee548331942b6804d203dcd8bde5d_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTozMjY4NmRlZGZlZGQ0NmM2OTIwNDgwZjU4YWYxZjI5Yy90YWJsZXJhbmdlOjMyNjg2ZGVkZmVkZDQ2YzY5MjA0ODBmNThhZjFmMjljXzUtOC0xLTEtNDcxOTA_e2e3276c-4a2b-40e9-b180-9a70885fc107"
      unitRef="shares">875465</ueic:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsandEquityInstrumentsOtherThanOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTozMjY4NmRlZGZlZGQ0NmM2OTIwNDgwZjU4YWYxZjI5Yy90YWJsZXJhbmdlOjMyNjg2ZGVkZmVkZDQ2YzY5MjA0ODBmNThhZjFmMjljXzYtNi0xLTEtNDcxOTA_a764446b-1483-46b7-96a5-57ad623b6419"
      unitRef="shares">777152</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <ueic:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsandEquityInstrumentsOtherThanOptionsOutstandingNumber
      contextRef="i41009ed43b1d4c52b84bd4732fc89d2e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90YWJsZTozMjY4NmRlZGZlZGQ0NmM2OTIwNDgwZjU4YWYxZjI5Yy90YWJsZXJhbmdlOjMyNjg2ZGVkZmVkZDQ2YzY5MjA0ODBmNThhZjFmMjljXzYtOC0xLTEtNDcxOTA_83096bd4-6674-4d1a-beec-7df344438fed"
      unitRef="shares">1158575</ueic:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsandEquityInstrumentsOtherThanOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
      contextRef="i44ebc893cd064107ab16006f5c7c6cb6_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xMzkvZnJhZzo2NThmZWRjZWNmZDE0NjQ0YWVmMmRiMTYwYmE2MGJkZC90ZXh0cmVnaW9uOjY1OGZlZGNlY2ZkMTQ2NDRhZWYyZGIxNjBiYTYwYmRkXzQyNzA_e956e617-7ff8-47c6-a53f-3569bbd9cd2b"
      unitRef="shares">1100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
    <ueic:WarrantsDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDIvZnJhZzpiYjFmMWQzYTE1OTY0MTNkOGM1MjJhMTg2MTNhOTczZS90ZXh0cmVnaW9uOmJiMWYxZDNhMTU5NjQxM2Q4YzUyMmExODYxM2E5NzNlXzQxOTI_9ac50445-e4ab-46fe-b8ef-a10c6902faae">Performance-Based Common Stock Warrants&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 9, 2016, we issued common stock purchase warrants to Comcast Corporation ("Comcast") at a price of $54.55 per share. At December 31, 2022, 275,000 of these warrants were vested and outstanding. All of the warrants expired on January 1, 2023. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 to net sales recorded in connection with the warrants and the related income tax benefit was as follows:&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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:60.303%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.034%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.742%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.183%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reduction (addition) to net sales &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 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;(686)&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;686&#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;Income tax benefit&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;&#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;(171)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt; &#160;&#160;&#160;&#160;At December 31, 2021, Comcast did not meet the minimum performance obligations to vest in any portion of the warrants associated with the two-year vesting period ended December 31, 2021. As such, all previously recorded expenses associated with this vesting period were reversed.&lt;/span&gt;&lt;/div&gt;</ueic:WarrantsDisclosureTextBlock>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i1c1031b9c7db4edfbb50b88552a8342e_I20160309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDIvZnJhZzpiYjFmMWQzYTE1OTY0MTNkOGM1MjJhMTg2MTNhOTczZS90ZXh0cmVnaW9uOmJiMWYxZDNhMTU5NjQxM2Q4YzUyMmExODYxM2E5NzNlXzEwOTk1MTE2MzIxNDE_2a5e87d3-38a8-4ba3-b58e-92bc7d1774e3"
      unitRef="usdPerShare">54.55</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i83618dad7b684b4ca60e225db0d3983d_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDIvZnJhZzpiYjFmMWQzYTE1OTY0MTNkOGM1MjJhMTg2MTNhOTczZS90ZXh0cmVnaW9uOmJiMWYxZDNhMTU5NjQxM2Q4YzUyMmExODYxM2E5NzNlXzE2OA_588928e7-b26d-4c52-890d-f1d2a4c77f8c"
      unitRef="shares">275000</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <ueic:ScheduleofImpactToNetSalesDueToWarrantsTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDIvZnJhZzpiYjFmMWQzYTE1OTY0MTNkOGM1MjJhMTg2MTNhOTczZS90ZXh0cmVnaW9uOmJiMWYxZDNhMTU5NjQxM2Q4YzUyMmExODYxM2E5NzNlXzQxOTY_c9b1473b-e4cb-45a8-80c0-9b0ed981fb98">&lt;div style="text-align:justify"&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 to net sales recorded in connection with the warrants and the related income tax benefit was as follows:&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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:60.303%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.034%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.742%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.183%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reduction (addition) to net sales &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 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;(686)&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;686&#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;Income tax benefit&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;&#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;(171)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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%"&gt; &#160;&#160;&#160;&#160;At December 31, 2021, Comcast did not meet the minimum performance obligations to vest in any portion of the warrants associated with the two-year vesting period ended December 31, 2021. As such, all previously recorded expenses associated with this vesting period were reversed.&lt;/span&gt;&lt;/div&gt;</ueic:ScheduleofImpactToNetSalesDueToWarrantsTableTextBlock>
    <ueic:ClassofWarrantorRightContraRevenue
      contextRef="if1469e5adf13446383df40006774be01_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDIvZnJhZzpiYjFmMWQzYTE1OTY0MTNkOGM1MjJhMTg2MTNhOTczZS90YWJsZToxNTExNzJiYzEwMzI0MDNlODg1ZTIwMGM1YzkwZGJhYi90YWJsZXJhbmdlOjE1MTE3MmJjMTAzMjQwM2U4ODVlMjAwYzVjOTBkYmFiXzItMS0xLTEtNDcxOTA_f22d9422-0082-4cd3-80b5-ce3dcd4026e9"
      unitRef="usd">0</ueic:ClassofWarrantorRightContraRevenue>
    <ueic:ClassofWarrantorRightContraRevenue
      contextRef="i485710a65a3b4720ab7fd91c5c0b4221_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDIvZnJhZzpiYjFmMWQzYTE1OTY0MTNkOGM1MjJhMTg2MTNhOTczZS90YWJsZToxNTExNzJiYzEwMzI0MDNlODg1ZTIwMGM1YzkwZGJhYi90YWJsZXJhbmdlOjE1MTE3MmJjMTAzMjQwM2U4ODVlMjAwYzVjOTBkYmFiXzItMy0xLTEtNDcxOTA_58ae2b81-9f17-43a5-91a7-37626006a838"
      unitRef="usd">-686000</ueic:ClassofWarrantorRightContraRevenue>
    <ueic:ClassofWarrantorRightContraRevenue
      contextRef="i0e6c773d8a584e80b3db40ab504f911d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDIvZnJhZzpiYjFmMWQzYTE1OTY0MTNkOGM1MjJhMTg2MTNhOTczZS90YWJsZToxNTExNzJiYzEwMzI0MDNlODg1ZTIwMGM1YzkwZGJhYi90YWJsZXJhbmdlOjE1MTE3MmJjMTAzMjQwM2U4ODVlMjAwYzVjOTBkYmFiXzItNS0xLTEtNDcxOTA_2e842365-3794-4a3d-9cfa-bdf1a882c0f9"
      unitRef="usd">686000</ueic:ClassofWarrantorRightContraRevenue>
    <ueic:ClassofWarrantorRightIncomeTaxExpenseBenefit
      contextRef="if1469e5adf13446383df40006774be01_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDIvZnJhZzpiYjFmMWQzYTE1OTY0MTNkOGM1MjJhMTg2MTNhOTczZS90YWJsZToxNTExNzJiYzEwMzI0MDNlODg1ZTIwMGM1YzkwZGJhYi90YWJsZXJhbmdlOjE1MTE3MmJjMTAzMjQwM2U4ODVlMjAwYzVjOTBkYmFiXzMtMS0xLTEtNDcxOTA_d2993ff3-b401-456b-ac89-e71cdadb9bef"
      unitRef="usd">0</ueic:ClassofWarrantorRightIncomeTaxExpenseBenefit>
    <ueic:ClassofWarrantorRightIncomeTaxExpenseBenefit
      contextRef="i485710a65a3b4720ab7fd91c5c0b4221_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDIvZnJhZzpiYjFmMWQzYTE1OTY0MTNkOGM1MjJhMTg2MTNhOTczZS90YWJsZToxNTExNzJiYzEwMzI0MDNlODg1ZTIwMGM1YzkwZGJhYi90YWJsZXJhbmdlOjE1MTE3MmJjMTAzMjQwM2U4ODVlMjAwYzVjOTBkYmFiXzMtMy0xLTEtNDcxOTA_f8aace79-13b2-4568-a7b1-caa1c4fc6c8c"
      unitRef="usd">-171000</ueic:ClassofWarrantorRightIncomeTaxExpenseBenefit>
    <ueic:ClassofWarrantorRightIncomeTaxExpenseBenefit
      contextRef="i0e6c773d8a584e80b3db40ab504f911d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDIvZnJhZzpiYjFmMWQzYTE1OTY0MTNkOGM1MjJhMTg2MTNhOTczZS90YWJsZToxNTExNzJiYzEwMzI0MDNlODg1ZTIwMGM1YzkwZGJhYi90YWJsZXJhbmdlOjE1MTE3MmJjMTAzMjQwM2U4ODVlMjAwYzVjOTBkYmFiXzMtNS0xLTEtNDcxOTA_8943c7fb-0664-4c0a-ba0c-bba6b86e4a82"
      unitRef="usd">171000</ueic:ClassofWarrantorRightIncomeTaxExpenseBenefit>
    <ueic:ClassofWarrantorRightTermofSuccessiveVestingPeriods
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDIvZnJhZzpiYjFmMWQzYTE1OTY0MTNkOGM1MjJhMTg2MTNhOTczZS90ZXh0cmVnaW9uOmJiMWYxZDNhMTU5NjQxM2Q4YzUyMmExODYxM2E5NzNlXzE2NDkyNjc0NDk4MzM_41971041-8419-4f8a-8c46-6af740d0a57d">P2Y</ueic:ClassofWarrantorRightTermofSuccessiveVestingPeriods>
    <us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90ZXh0cmVnaW9uOmUxNWFiMmFkMDU3MDQyZTA5Mzk5NDg2MDY2NGNjMDc3XzY3OQ_4de3a4d0-a1ed-4823-a20b-1471c17ee6d4">Other Income (Expense), Net and Loss on Sale of Argentina Subsidiary&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other income (expense), net consisted of the following:&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;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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: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;Net gain (loss) on foreign currency exchange contracts &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 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,309)&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,903&#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;(310)&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="padding:2px 1pt;text-align:left;vertical-align: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 gain (loss) on foreign currency exchange transactions&lt;/span&gt;&lt;/td&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;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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;(4,237)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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,675)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding: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 income (expense)&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;136&#160;&lt;/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;777&#160;&lt;/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;581&#160;&lt;/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="padding:2px 1pt;text-align:left;vertical-align: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 income (expense), net&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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;(955)&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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="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;(557)&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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="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,404)&lt;/span&gt;&lt;/td&gt;&lt;td style="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:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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:10.43pt"&gt;This represents the gains (losses) incurred on foreign currency hedging derivatives. See Note 19 for further information concerning our foreign currency exchange contracts.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On September 7, 2021, we completed the sale of our subsidiary, One For All Argentina S.R.L, to an unrelated party, recording a loss on sale of $6.1&#160;million. Upon divestiture, the successor entity, OFA Express S.R.L., serves as an authorized distributor of certain of our products in Argentina. OFA Express, S.R.L. is not a related party of the Company.&lt;/span&gt;&lt;/div&gt;</us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock>
    <us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90ZXh0cmVnaW9uOmUxNWFiMmFkMDU3MDQyZTA5Mzk5NDg2MDY2NGNjMDc3XzY4Mg_7e7aa9eb-2b7a-4ca3-88f4-fcb778097130">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other income (expense), net consisted of the following:&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;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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: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;Net gain (loss) on foreign currency exchange contracts &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 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,309)&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,903&#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;(310)&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="padding:2px 1pt;text-align:left;vertical-align: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 gain (loss) on foreign currency exchange transactions&lt;/span&gt;&lt;/td&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;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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;(4,237)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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,675)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding: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 income (expense)&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;136&#160;&lt;/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;777&#160;&lt;/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;581&#160;&lt;/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="padding:2px 1pt;text-align:left;vertical-align: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 income (expense), net&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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;(955)&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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="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;(557)&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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="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,404)&lt;/span&gt;&lt;/td&gt;&lt;td style="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:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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:10.43pt"&gt;This represents the gains (losses) incurred on foreign currency hedging derivatives. See Note 19 for further information concerning our foreign currency exchange contracts.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock>
    <us-gaap:GainLossOnDerivativeInstrumentsNetPretax
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzItMS0xLTEtNDcxOTA_fb2080ab-e2ab-4ace-83e9-3f47307f44fe"
      unitRef="usd">-1309000</us-gaap:GainLossOnDerivativeInstrumentsNetPretax>
    <us-gaap:GainLossOnDerivativeInstrumentsNetPretax
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzItMy0xLTEtNDcxOTA_6bcea8cb-6170-4652-b82d-141b90066323"
      unitRef="usd">2903000</us-gaap:GainLossOnDerivativeInstrumentsNetPretax>
    <us-gaap:GainLossOnDerivativeInstrumentsNetPretax
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzItNS0xLTEtNDcxOTA_f0aa45a5-9598-4b55-950c-56a5b274a677"
      unitRef="usd">-310000</us-gaap:GainLossOnDerivativeInstrumentsNetPretax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzMtMS0xLTEtNDcxOTA_4c86ee45-e403-4e3b-a941-1f817221ad5d"
      unitRef="usd">218000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzMtMy0xLTEtNDcxOTA_5b1d887e-23a4-4766-95f4-0d7c21755133"
      unitRef="usd">-4237000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzMtNS0xLTEtNDcxOTA_cce94330-f7cc-47cb-a4da-6ffccef133b6"
      unitRef="usd">-1675000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <ueic:OtherIncomeExpense
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzQtMS0xLTEtNDcxOTA_601711fa-f6bf-409f-b932-c36a698046a3"
      unitRef="usd">136000</ueic:OtherIncomeExpense>
    <ueic:OtherIncomeExpense
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzQtMy0xLTEtNDcxOTA_ab119c25-c6d8-4243-81a8-863f6e0f87fe"
      unitRef="usd">777000</ueic:OtherIncomeExpense>
    <ueic:OtherIncomeExpense
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzQtNS0xLTEtNDcxOTA_3c40e490-1c54-4d87-aaa9-ae55a246d042"
      unitRef="usd">581000</ueic:OtherIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzUtMS0xLTEtNDcxOTA_e04ef6c4-31d6-405c-b9b0-9651e77c91e3"
      unitRef="usd">-955000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzUtMy0xLTEtNDcxOTA_d6a31ea4-49a1-4eac-83c9-2e983636dd21"
      unitRef="usd">-557000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90YWJsZTo2NGQ3YmE2ZGI5OTc0YTNhODViMDUzMTVlNWZmMDg4ZS90YWJsZXJhbmdlOjY0ZDdiYTZkYjk5NzRhM2E4NWIwNTMxNWU1ZmYwODhlXzUtNS0xLTEtNDcxOTA_6032c9d4-c4f4-4856-9ea9-001eb19bdc16"
      unitRef="usd">-1404000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i1da20c34146d4087bb295656c14aefe4_D20210907-20210907"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDUvZnJhZzplMTVhYjJhZDA1NzA0MmUwOTM5OTQ4NjA2NjRjYzA3Ny90ZXh0cmVnaW9uOmUxNWFiMmFkMDU3MDQyZTA5Mzk5NDg2MDY2NGNjMDc3XzQ2Mg_e162d7d4-23d8-4463-97ef-a0ef521c71bf"
      unitRef="usd">-6100000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90ZXh0cmVnaW9uOjViNjAzNDU3MTA4ZjQxOGFiMWYxNjA1NzZhYWFmNmE2XzMxNA_8c87e1d9-83c6-4c7a-a3d9-dfa72e5157ee">Earnings Per Share&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Earnings per share was calculated 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;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands, except per-share amounts)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:700;line-height:100%"&gt;BASIC&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;/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 income&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;407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;38,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;/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;Weighted-average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;12,703&#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 colspan="2" style="background-color:#cceeff;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;13,465&#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 colspan="2" style="background-color:#cceeff;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;13,893&#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:400;line-height:100%"&gt;Basic earnings per share&lt;/span&gt;&lt;/td&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;0.03&#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;0.39&#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;2.78&#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:700;line-height:100%"&gt;DILUTED&lt;/span&gt;&lt;/td&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;text-align:left;vertical-align: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 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;407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;38,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;/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;Weighted-average common shares outstanding for basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;12,703&#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 colspan="2" style="background-color:#cceeff;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;13,465&#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 colspan="2" style="background-color:#cceeff;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;13,893&#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:400;line-height:100%"&gt;Dilutive effect of stock options, restricted stock and common stock warrants&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;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;273&#160;&lt;/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;Weighted-average common shares outstanding on a diluted basis&lt;/span&gt;&lt;/td&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,779&#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;13,742&#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;14,166&#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;Diluted earnings per share&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;0.03&#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;0.39&#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;2.72&#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="text-align:justify"&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 number of stock options, shares of restricted stock and common stock warrants were excluded from the computation of diluted earnings per common share as their inclusion would have been anti-dilutive:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:bottom"&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&lt;/span&gt;&lt;/td&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;686&#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;412&#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;468&#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;Restricted stock awards&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;242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;14&#160;&lt;/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;Performance-based warrants&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;275&#160;&lt;/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;206&#160;&lt;/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;275&#160;&lt;/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;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90ZXh0cmVnaW9uOjViNjAzNDU3MTA4ZjQxOGFiMWYxNjA1NzZhYWFmNmE2XzMyMw_7c139139-5ae7-455a-83c5-3a9514a9e8e5">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Earnings per share was calculated 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;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands, except per-share amounts)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:700;line-height:100%"&gt;BASIC&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;/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 income&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;407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;38,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;/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;Weighted-average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;12,703&#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 colspan="2" style="background-color:#cceeff;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;13,465&#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 colspan="2" style="background-color:#cceeff;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;13,893&#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:400;line-height:100%"&gt;Basic earnings per share&lt;/span&gt;&lt;/td&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;0.03&#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;0.39&#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;2.78&#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:700;line-height:100%"&gt;DILUTED&lt;/span&gt;&lt;/td&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;text-align:left;vertical-align: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 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;407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,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;38,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;/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;Weighted-average common shares outstanding for basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;12,703&#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 colspan="2" style="background-color:#cceeff;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;13,465&#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 colspan="2" style="background-color:#cceeff;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;13,893&#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:400;line-height:100%"&gt;Dilutive effect of stock options, restricted stock and common stock warrants&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;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;273&#160;&lt;/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;Weighted-average common shares outstanding on a diluted basis&lt;/span&gt;&lt;/td&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,779&#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;13,742&#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;14,166&#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;Diluted earnings per share&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;0.03&#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;0.39&#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;2.72&#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:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzMtMS0xLTEtNDcxOTA_9b950759-63b3-4cca-9e81-5a69192bfc12"
      unitRef="usd">407000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzMtMy0xLTEtNDcxOTA_7cfd1eb2-79fd-47d7-9c5b-ef68c174f89a"
      unitRef="usd">5301000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzMtNS0xLTEtNDcxOTA_ff9b9026-3b5b-4fe0-814c-3b75844feff1"
      unitRef="usd">38572000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzQtMS0xLTEtNDcxOTA_bbebe2fb-6639-439b-8ebc-c648d42d82b8"
      unitRef="shares">12703000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzQtMy0xLTEtNDcxOTA_36744ff5-155e-46fe-8d3c-5c6ffd9bab9c"
      unitRef="shares">13465000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzQtNS0xLTEtNDcxOTA_44b96cc7-aa1e-482d-ba9e-e16b9bf7201d"
      unitRef="shares">13893000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzUtMS0xLTEtNDcxOTA_4812f231-bbfa-4676-a450-d9b715228e66"
      unitRef="usdPerShare">0.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzUtMy0xLTEtNDcxOTA_19aefb08-757c-46ab-99bc-5e851ed038c1"
      unitRef="usdPerShare">0.39</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzUtNS0xLTEtNDcxOTA_fd4d18b3-46d6-4022-8060-68364205dc7b"
      unitRef="usdPerShare">2.78</us-gaap:EarningsPerShareBasic>
    <us-gaap:NetIncomeLoss
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzctMS0xLTEtNDcxOTA_9b950759-63b3-4cca-9e81-5a69192bfc12"
      unitRef="usd">407000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzctMy0xLTEtNDcxOTA_7cfd1eb2-79fd-47d7-9c5b-ef68c174f89a"
      unitRef="usd">5301000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzctNS0xLTEtNDcxOTA_ff9b9026-3b5b-4fe0-814c-3b75844feff1"
      unitRef="usd">38572000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzgtMS0xLTEtNDcxOTA_bbebe2fb-6639-439b-8ebc-c648d42d82b8"
      unitRef="shares">12703000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzgtMy0xLTEtNDcxOTA_36744ff5-155e-46fe-8d3c-5c6ffd9bab9c"
      unitRef="shares">13465000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzgtNS0xLTEtNDcxOTA_44b96cc7-aa1e-482d-ba9e-e16b9bf7201d"
      unitRef="shares">13893000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzktMS0xLTEtNDcxOTA_dbbd46bd-2eec-413b-8774-b7011289292c"
      unitRef="shares">76000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzktMy0xLTEtNDcxOTA_890ed6eb-9fe6-4adf-b90e-5afbbb45272b"
      unitRef="shares">277000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzktNS0xLTEtNDcxOTA_b71551de-ca36-4172-a406-b42eda167f5b"
      unitRef="shares">273000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzEwLTEtMS0xLTQ3MTkw_1b25dc8d-19e3-492e-8eee-f1cd2b124b79"
      unitRef="shares">12779000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzEwLTMtMS0xLTQ3MTkw_62957ff8-e052-4310-9853-e18ba05f395d"
      unitRef="shares">13742000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzEwLTUtMS0xLTQ3MTkw_a64eebdf-3227-4af1-8d0b-00a50e458e2c"
      unitRef="shares">14166000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzExLTEtMS0xLTQ3MTkw_e8bc1459-a685-42a2-bc05-f7431a0f341c"
      unitRef="usdPerShare">0.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzExLTMtMS0xLTQ3MTkw_89cc205d-c835-45aa-ab5f-eb26d0954fde"
      unitRef="usdPerShare">0.39</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo5ZDYwZGIyMDgzODI0OTZjYTM1MDAzOGI4YzU2ZWVlOS90YWJsZXJhbmdlOjlkNjBkYjIwODM4MjQ5NmNhMzUwMDM4YjhjNTZlZWU5XzExLTUtMS0xLTQ3MTkw_14dc97b5-c10c-4394-a585-654f6f3f9a3b"
      unitRef="usdPerShare">2.72</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90ZXh0cmVnaW9uOjViNjAzNDU3MTA4ZjQxOGFiMWYxNjA1NzZhYWFmNmE2XzMwMg_eec81f0e-d298-4660-82d6-b8dc08fc1867">&lt;div style="text-align:justify"&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 number of stock options, shares of restricted stock and common stock warrants were excluded from the computation of diluted earnings per common share as their inclusion would have been anti-dilutive:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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:11.619%"/&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:11.622%"/&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="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:700;line-height:100%"&gt;Year 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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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:700;line-height:100%"&gt;2022&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:700;line-height:100%"&gt;2021&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:700;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:bottom"&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&lt;/span&gt;&lt;/td&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;686&#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;412&#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;468&#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;Restricted stock awards&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;242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;14&#160;&lt;/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;Performance-based warrants&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;275&#160;&lt;/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;206&#160;&lt;/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;275&#160;&lt;/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;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="icc6d0488b38b4b218ad1b4fca2c5b4a7_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo0NTMzOGE1ZjU3ZTg0ZWZkYmY0ZjFmOWUzYTU4Y2M2Yy90YWJsZXJhbmdlOjQ1MzM4YTVmNTdlODRlZmRiZjRmMWY5ZTNhNThjYzZjXzItMS0xLTEtNDcxOTA_b9744495-b22d-43d8-81dd-448fff6d5805"
      unitRef="shares">686000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i28e0239f1b7f4ed2810f4a20178c1ed9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo0NTMzOGE1ZjU3ZTg0ZWZkYmY0ZjFmOWUzYTU4Y2M2Yy90YWJsZXJhbmdlOjQ1MzM4YTVmNTdlODRlZmRiZjRmMWY5ZTNhNThjYzZjXzItMy0xLTEtNDcxOTA_902fe27e-fa45-46d6-8ceb-e3594efd067c"
      unitRef="shares">412000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i9171378c1ace44c1bc5db96b9d652fa7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo0NTMzOGE1ZjU3ZTg0ZWZkYmY0ZjFmOWUzYTU4Y2M2Yy90YWJsZXJhbmdlOjQ1MzM4YTVmNTdlODRlZmRiZjRmMWY5ZTNhNThjYzZjXzItNS0xLTEtNDcxOTA_8137cbc8-c2d9-4b0c-aba0-4c65501e987e"
      unitRef="shares">468000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i8e8f7fdb8ef447f3bd5946a36c4f7e28_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo0NTMzOGE1ZjU3ZTg0ZWZkYmY0ZjFmOWUzYTU4Y2M2Yy90YWJsZXJhbmdlOjQ1MzM4YTVmNTdlODRlZmRiZjRmMWY5ZTNhNThjYzZjXzMtMS0xLTEtNDcxOTA_49065fd5-e48b-4501-9a8a-5a5db0480402"
      unitRef="shares">242000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i06c8f078ce734be182ef075701f236f1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo0NTMzOGE1ZjU3ZTg0ZWZkYmY0ZjFmOWUzYTU4Y2M2Yy90YWJsZXJhbmdlOjQ1MzM4YTVmNTdlODRlZmRiZjRmMWY5ZTNhNThjYzZjXzMtMy0xLTEtNDcxOTA_f51cc6cb-6344-48fe-a869-65afdf784b78"
      unitRef="shares">65000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ia5cdac9c98464d21bcc4b2fcfcd0b83f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo0NTMzOGE1ZjU3ZTg0ZWZkYmY0ZjFmOWUzYTU4Y2M2Yy90YWJsZXJhbmdlOjQ1MzM4YTVmNTdlODRlZmRiZjRmMWY5ZTNhNThjYzZjXzMtNS0xLTEtNDcxOTA_8124ec38-eda6-47e0-92b9-6e5a2045a72a"
      unitRef="shares">14000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i98d9704083854a17853f83968eaf4488_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo0NTMzOGE1ZjU3ZTg0ZWZkYmY0ZjFmOWUzYTU4Y2M2Yy90YWJsZXJhbmdlOjQ1MzM4YTVmNTdlODRlZmRiZjRmMWY5ZTNhNThjYzZjXzQtMS0xLTEtNDcxOTA_9279b703-50d4-437c-bd21-70a18d833359"
      unitRef="shares">275000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="icaf9cdebf323497ea1635915e29a1f64_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo0NTMzOGE1ZjU3ZTg0ZWZkYmY0ZjFmOWUzYTU4Y2M2Yy90YWJsZXJhbmdlOjQ1MzM4YTVmNTdlODRlZmRiZjRmMWY5ZTNhNThjYzZjXzQtMy0xLTEtNDcxOTA_f6528958-a21d-4e35-bfa5-5bd3d2ecd641"
      unitRef="shares">206000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i2ffeeb50b6174d30a16580594fd77eb0_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNDgvZnJhZzo1YjYwMzQ1NzEwOGY0MThhYjFmMTYwNTc2YWFhZjZhNi90YWJsZTo0NTMzOGE1ZjU3ZTg0ZWZkYmY0ZjFmOWUzYTU4Y2M2Yy90YWJsZXJhbmdlOjQ1MzM4YTVmNTdlODRlZmRiZjRmMWY5ZTNhNThjYzZjXzQtNS0xLTEtNDcxOTA_a536df68-2feb-4476-95c5-9fd71c82ed34"
      unitRef="shares">275000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90ZXh0cmVnaW9uOjc1NjUwOTM4Yzc5ZTQ5MTM4ZDk1ZGZlNmZkZGVhMWY2XzY4NQ_4463371b-8a3a-4e62-a1da-bdbb639f3b20">Derivatives&lt;div style="text-align:justify"&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 sets forth the total net fair value of derivatives:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:28.432%"/&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:6.940%"/&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:6.940%"/&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:6.940%"/&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:7.087%"/&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:6.940%"/&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:6.940%"/&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:6.940%"/&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:7.101%"/&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="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:700;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="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:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" 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:700;line-height:100%"&gt;Fair Value Measurement Using&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" rowspan="2" 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:700;line-height:100%"&gt;Total Balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" 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:700;line-height:100%"&gt;Fair Value Measurement Using&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" rowspan="2" 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:700;line-height:100%"&gt;Total Balance&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&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:700;line-height:100%"&gt;(In thousands)&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:700;line-height:100%"&gt;Level 1&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:700;line-height:100%"&gt;Level&#160;2&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:700;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: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:700;line-height:100%"&gt;Level 1&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:700;line-height:100%"&gt;Level&#160;2&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:700;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;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;Foreign currency exchange contracts&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;100&#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;100&#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;(92)&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;(92)&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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We held foreign currency exchange contracts which resulted in a net pre-tax loss of $1.3 million, a net pre-tax gain of $2.9 million, and a net pre-tax loss of $0.3 million for the years ended December&#160;31, 2022, 2021 and 2020, respectively. See Note 17 for further information concerning our foreign currency exchange contracts.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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;Details of foreign currency exchange contracts held 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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.613%"/&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:16.005%"/&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:9.864%"/&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:9.572%"/&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:9.572%"/&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:11.765%"/&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.529%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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;Date Held&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;Currency&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;Position Held&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;Notional Value&lt;br/&gt;(in millions)&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;Forward Rate&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:700;line-height:100%"&gt;Unrealized Gain/(Loss) Recorded at Balance Sheet&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Date&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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:700;line-height:100%"&gt;Settlement Date&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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;December 31, 2022&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;USD/Euro&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;USD&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;26.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;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;1.0529&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;(428)&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 6, 2023&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: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;December 31, 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;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;USD/Chinese Yuan Renminbi&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;CNY&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;31.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;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;7.0358&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;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="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;January 6, 2023&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: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;December 31, 2021&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;USD/Chinese Yuan Renminbi&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;CNY&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;19.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;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;6.3777&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;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 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;January 7, 2022&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: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;December 31, 2021&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;USD/Euro&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;USD&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;31.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;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.1336&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;(130)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 7, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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:10.43pt"&gt;Unrealized gains on foreign currency exchange contracts are recorded in prepaid expenses and other current assets. Unrealized losses on foreign currency exchange contracts are recorded in other accrued liabilities.&lt;/span&gt;&lt;/div&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90ZXh0cmVnaW9uOjc1NjUwOTM4Yzc5ZTQ5MTM4ZDk1ZGZlNmZkZGVhMWY2XzY2OQ_feed8da2-419f-4ec6-b0df-67dbbd6e4e02">&lt;div style="text-align:justify"&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 sets forth the total net fair value of derivatives:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:28.432%"/&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:6.940%"/&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:6.940%"/&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:6.940%"/&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:7.087%"/&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:6.940%"/&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:6.940%"/&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:6.940%"/&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:7.101%"/&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="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:700;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="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:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" 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:700;line-height:100%"&gt;Fair Value Measurement Using&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" rowspan="2" 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:700;line-height:100%"&gt;Total Balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" 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:700;line-height:100%"&gt;Fair Value Measurement Using&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" rowspan="2" 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:700;line-height:100%"&gt;Total Balance&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&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:700;line-height:100%"&gt;(In thousands)&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:700;line-height:100%"&gt;Level 1&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:700;line-height:100%"&gt;Level&#160;2&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:700;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: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:700;line-height:100%"&gt;Level 1&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:700;line-height:100%"&gt;Level&#160;2&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:700;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;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;Foreign currency exchange contracts&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;100&#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;100&#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;(92)&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;(92)&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;</us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="i9693218451b741e79fc82efb8f0869cf_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTozYmIwOTg2ZmVjOGY0YzYwYjA1MTQxZjcwNmRiYTkzOS90YWJsZXJhbmdlOjNiYjA5ODZmZWM4ZjRjNjBiMDUxNDFmNzA2ZGJhOTM5XzMtMi0xLTEtNDcxOTA_dfe5a2a3-d61e-4e67-a621-9b50bc79cafb"
      unitRef="usd">0</us-gaap:DerivativeFairValueOfDerivativeNet>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="i7f7f2a162ebc4ebdb0b7be4a2bf76e66_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTozYmIwOTg2ZmVjOGY0YzYwYjA1MTQxZjcwNmRiYTkzOS90YWJsZXJhbmdlOjNiYjA5ODZmZWM4ZjRjNjBiMDUxNDFmNzA2ZGJhOTM5XzMtNC0xLTEtNDcxOTA_88087d48-b1ae-4898-8240-0f8f6795fcd6"
      unitRef="usd">100000</us-gaap:DerivativeFairValueOfDerivativeNet>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="ie4d028e506254fc29d9e108baea44d31_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTozYmIwOTg2ZmVjOGY0YzYwYjA1MTQxZjcwNmRiYTkzOS90YWJsZXJhbmdlOjNiYjA5ODZmZWM4ZjRjNjBiMDUxNDFmNzA2ZGJhOTM5XzMtNi0xLTEtNDcxOTA_b75c213c-d522-43e8-834d-13a3f5351db6"
      unitRef="usd">0</us-gaap:DerivativeFairValueOfDerivativeNet>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="ibe909e6157ac470f9695b255a7d84ac0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTozYmIwOTg2ZmVjOGY0YzYwYjA1MTQxZjcwNmRiYTkzOS90YWJsZXJhbmdlOjNiYjA5ODZmZWM4ZjRjNjBiMDUxNDFmNzA2ZGJhOTM5XzMtOC0xLTEtNDcxOTA_787d9df8-e424-48e6-a0ac-a1c4b1fdb193"
      unitRef="usd">100000</us-gaap:DerivativeFairValueOfDerivativeNet>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="i3676718014c2443095d2c68e939a709f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTozYmIwOTg2ZmVjOGY0YzYwYjA1MTQxZjcwNmRiYTkzOS90YWJsZXJhbmdlOjNiYjA5ODZmZWM4ZjRjNjBiMDUxNDFmNzA2ZGJhOTM5XzMtMTAtMS0xLTQ3MTkw_74b24db9-19bd-4b78-bc91-ab41e7dff96f"
      unitRef="usd">0</us-gaap:DerivativeFairValueOfDerivativeNet>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="id1e48ae0188a49a583c1a8f7b0ab067c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTozYmIwOTg2ZmVjOGY0YzYwYjA1MTQxZjcwNmRiYTkzOS90YWJsZXJhbmdlOjNiYjA5ODZmZWM4ZjRjNjBiMDUxNDFmNzA2ZGJhOTM5XzMtMTItMS0xLTQ3MTkw_abb4fbfd-51bd-4162-9b74-436237aead89"
      unitRef="usd">-92000</us-gaap:DerivativeFairValueOfDerivativeNet>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="i1d46a4068b5c40758f33bcfb4eda0008_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTozYmIwOTg2ZmVjOGY0YzYwYjA1MTQxZjcwNmRiYTkzOS90YWJsZXJhbmdlOjNiYjA5ODZmZWM4ZjRjNjBiMDUxNDFmNzA2ZGJhOTM5XzMtMTQtMS0xLTQ3MTkw_9039b939-c13d-4106-82a7-2ece3e048956"
      unitRef="usd">0</us-gaap:DerivativeFairValueOfDerivativeNet>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="i48167be6894c43c683ff3f284cb9d661_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTozYmIwOTg2ZmVjOGY0YzYwYjA1MTQxZjcwNmRiYTkzOS90YWJsZXJhbmdlOjNiYjA5ODZmZWM4ZjRjNjBiMDUxNDFmNzA2ZGJhOTM5XzMtMTYtMS0xLTQ3MTkw_96fd2336-ee83-4f23-bbac-cba56b3d8b12"
      unitRef="usd">-92000</us-gaap:DerivativeFairValueOfDerivativeNet>
    <us-gaap:GainLossOnDerivativeInstrumentsNetPretax
      contextRef="id14cf236934c47a3930f3305d5bb3622_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90ZXh0cmVnaW9uOjc1NjUwOTM4Yzc5ZTQ5MTM4ZDk1ZGZlNmZkZGVhMWY2XzE4NQ_3ca36b7e-9f75-4946-99d2-a07683b17dee"
      unitRef="usd">-1300000</us-gaap:GainLossOnDerivativeInstrumentsNetPretax>
    <us-gaap:GainLossOnDerivativeInstrumentsNetPretax
      contextRef="i5993b2ffe5ea470cbe847f61142618fa_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90ZXh0cmVnaW9uOjc1NjUwOTM4Yzc5ZTQ5MTM4ZDk1ZGZlNmZkZGVhMWY2XzIwOQ_70881b1e-d517-4984-aa5e-6797abd7da8a"
      unitRef="usd">2900000</us-gaap:GainLossOnDerivativeInstrumentsNetPretax>
    <us-gaap:GainLossOnDerivativeInstrumentsNetPretax
      contextRef="if55c7799a6c744d89aad57f036d90ab4_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90ZXh0cmVnaW9uOjc1NjUwOTM4Yzc5ZTQ5MTM4ZDk1ZGZlNmZkZGVhMWY2XzIzNw_aebd8daa-70a8-4331-b258-2d84116ab858"
      unitRef="usd">-300000</us-gaap:GainLossOnDerivativeInstrumentsNetPretax>
    <us-gaap:ScheduleOfDerivativeInstrumentsTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90ZXh0cmVnaW9uOjc1NjUwOTM4Yzc5ZTQ5MTM4ZDk1ZGZlNmZkZGVhMWY2XzY4OA_650f184f-096f-4b92-b4a2-8ed34c870992">&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;Details of foreign currency exchange contracts held 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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.613%"/&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:16.005%"/&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:9.864%"/&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:9.572%"/&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:9.572%"/&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:11.765%"/&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.529%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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;Date Held&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;Currency&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;Position Held&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;Notional Value&lt;br/&gt;(in millions)&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;Forward Rate&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:700;line-height:100%"&gt;Unrealized Gain/(Loss) Recorded at Balance Sheet&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Date&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;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:700;line-height:100%"&gt;Settlement Date&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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;December 31, 2022&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;USD/Euro&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;USD&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;26.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;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;1.0529&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;(428)&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 6, 2023&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: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;December 31, 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;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;USD/Chinese Yuan Renminbi&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;CNY&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;31.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;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;7.0358&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;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="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;January 6, 2023&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: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;December 31, 2021&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;USD/Chinese Yuan Renminbi&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;CNY&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;19.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;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;6.3777&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;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 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;January 7, 2022&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: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;December 31, 2021&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;USD/Euro&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;USD&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;31.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;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.1336&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;(130)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 7, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&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:10.43pt"&gt;Unrealized gains on foreign currency exchange contracts are recorded in prepaid expenses and other current assets. Unrealized losses on foreign currency exchange contracts are recorded in other accrued liabilities.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsTextBlock>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i58944d2c20364db696c8fca7bc84a4d8_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzEtNi0xLTEtNDcxOTA_c90823fa-aaea-46df-b8f6-7483b7e57671"
      unitRef="usd">26000000.0</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeForwardExchangeRate1
      contextRef="i58944d2c20364db696c8fca7bc84a4d8_I20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzEtOC0xLTEtNDcxOTA_6f1e5038-5161-48fe-9f86-60400e317e44"
      unitRef="usdPerEUR">1.0529</us-gaap:DerivativeForwardExchangeRate1>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="i329ffd36eaa44e09aad571b8eeb9b455_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzEtMTAtMS0xLTQ3MTkw_00419563-5ea2-4b9a-bff8-95a948f5fb21"
      unitRef="usd">-428000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeNotionalAmount
      contextRef="ib09bcf7b5f0442c1919435dfb370c0f3_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzItNi0xLTEtNDcxOTA_4fe82bb7-7be9-4cf0-a453-d6d5eca890f3"
      unitRef="usd">31000000.0</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeForwardExchangeRate1
      contextRef="ib09bcf7b5f0442c1919435dfb370c0f3_I20221231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzItOC0xLTEtNDcxOTA_611894ed-26c2-4a3b-a475-56c4f3a9e74a"
      unitRef="usdPerCNY">7.0358</us-gaap:DerivativeForwardExchangeRate1>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="iba306c5b07134b4282944fd3b685e8d4_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzItMTAtMS0xLTQ3MTkw_f0876559-a94a-4a27-9163-089614ec528c"
      unitRef="usd">528000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i98f03e9d58cf4c18b8393734885942b0_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzMtNi0xLTEtNDcxOTA_7dcd7b3e-83e3-4243-b6a1-28760550b5fd"
      unitRef="usd">19000000.0</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeForwardExchangeRate1
      contextRef="i98f03e9d58cf4c18b8393734885942b0_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzMtOC0xLTEtNDcxOTA_4a42c383-82c8-46cf-9a46-f041a30a5075"
      unitRef="usdPerCNY">6.3777</us-gaap:DerivativeForwardExchangeRate1>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="i1c720669130c42e2abc7bca875c87716_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzMtMTAtMS0xLTQ3MTkw_f61e4b8b-5446-4386-a807-b888067f7c94"
      unitRef="usd">38000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i9449daacf6764da585039075424361a8_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzQtNi0xLTEtNDcxOTA_a7e8f15a-1df8-4006-b9a0-1a6650910626"
      unitRef="usd">31000000.0</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeForwardExchangeRate1
      contextRef="i9449daacf6764da585039075424361a8_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzQtOC0xLTEtNDcxOTA_02e16022-c8e6-4695-b29c-e66b8b1d3038"
      unitRef="usdPerEUR">1.1336</us-gaap:DerivativeForwardExchangeRate1>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="i6a8e543af07d4fee889f5653b8cd525e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTEvZnJhZzo3NTY1MDkzOGM3OWU0OTEzOGQ5NWRmZTZmZGRlYTFmNi90YWJsZTo5NmFiMWQyMjNlOTk0OGU0YTRlOTQ1ZjcxNTQ1MGUzYS90YWJsZXJhbmdlOjk2YWIxZDIyM2U5OTQ4ZTRhNGU5NDVmNzE1NDUwZTNhXzQtMTAtMS0xLTQ3MTkw_039fa983-5d31-4f7e-87b4-2d3e57432791"
      unitRef="usd">-130000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTQvZnJhZzpmZTE0MmJiM2VlN2E0NmUyOWE4OGFmNThlOWExYjYzNC90ZXh0cmVnaW9uOmZlMTQyYmIzZWU3YTQ2ZTI5YTg4YWY1OGU5YTFiNjM0XzYwMw_157dbe56-84b4-44f4-96b5-2988c99fe1cc">Employee Benefit PlansWe maintain a retirement and profit sharing plan under Section&#160;401(k) of the Internal Revenue Code for all of our domestic employees that meet certain qualifications. Participants in the plan may elect to contribute up to the maximum allowed by law. We match 50% of the participants' contributions up to 15% of their gross salary in the form of newly issued shares of our common stock. We may also make other discretionary contributions to the plan. We recorded $1.2 million, $1.1 million and $1.2 million of expense for company contributions for the years ended December&#160;31, 2022, 2021 and 2020, respectively.</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTQvZnJhZzpmZTE0MmJiM2VlN2E0NmUyOWE4OGFmNThlOWExYjYzNC90ZXh0cmVnaW9uOmZlMTQyYmIzZWU3YTQ2ZTI5YTg4YWY1OGU5YTFiNjM0XzI5OA_33db0825-9e8a-4849-b8bc-4ca221dbb038"
      unitRef="number">0.50</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTQvZnJhZzpmZTE0MmJiM2VlN2E0NmUyOWE4OGFmNThlOWExYjYzNC90ZXh0cmVnaW9uOmZlMTQyYmIzZWU3YTQ2ZTI5YTg4YWY1OGU5YTFiNjM0XzM0Mg_ec647a91-55a9-426c-8237-76fc410da68e"
      unitRef="number">0.15</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTQvZnJhZzpmZTE0MmJiM2VlN2E0NmUyOWE4OGFmNThlOWExYjYzNC90ZXh0cmVnaW9uOmZlMTQyYmIzZWU3YTQ2ZTI5YTg4YWY1OGU5YTFiNjM0XzQ5OQ_2c6a1fe2-d5fe-4753-b99d-9f4041c078e8"
      unitRef="usd">1200000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i09b7420b6af44114ba83eaf58d474302_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTQvZnJhZzpmZTE0MmJiM2VlN2E0NmUyOWE4OGFmNThlOWExYjYzNC90ZXh0cmVnaW9uOmZlMTQyYmIzZWU3YTQ2ZTI5YTg4YWY1OGU5YTFiNjM0XzUwMw_943b6f28-c0d3-4516-85ed-3ab7389d355b"
      unitRef="usd">1100000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i868d3b7bcd86440d815220433f5ba4cb_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNTQvZnJhZzpmZTE0MmJiM2VlN2E0NmUyOWE4OGFmNThlOWExYjYzNC90ZXh0cmVnaW9uOmZlMTQyYmIzZWU3YTQ2ZTI5YTg4YWY1OGU5YTFiNjM0XzUxMA_ee62c76e-54bd-4d78-b2df-462cda34e708"
      unitRef="usd">1200000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGV4dHJlZ2lvbjoxMjViYTJhYTkyZTE0OTU3YTM1NWY4YzM0Yjc4NDU1MF8xNjQ5MjY3NDQ1MDkz_9bfda492-64a3-473a-8172-77d8d4e0cd20">Business Combinations&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 17, 2022, we acquired substantially all of the net assets of Qterics, a U.S.-based provider of multimedia connectivity solutions and services for internet-enabled consumer products. Under the terms of the Asset Purchase Agreement ("APA"), we paid a cash purchase price of approximately $0.9&#160;million. The acquisition of these assets will allow us to expand our customer base in the OEM market.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our consolidated income statement for the year ended December&#160;31, 2022 includes net sales of $2.1&#160;million and net income of $145&#160;thousand, attributable to Qterics for the period commencing on February 17, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with the terms of the APA, the initial purchase price was subject to adjustment for differences between the initial estimated working capital balances and the final adjusted balances. This calculation was completed at March 31, 2022. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Purchase Price Allocation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 acquisition method of accounting, the acquisition date fair value of the consideration transferred was allocated to the net tangible and intangible assets acquired and liabilities assumed based on their fair values on the acquisition date. The excess of the purchase price over the estimated fair value of net assets acquired is recorded as goodwill. The goodwill is expected to be deductible for income tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Management's purchase price allocation as of December&#160;31, 2022 was the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:63.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.297%"/&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:16.300%"/&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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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 Lives&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;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:bottom"&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:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&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;787&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment&lt;/span&gt;&lt;/td&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;5 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;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;/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;Customer relationships&lt;/span&gt;&lt;/td&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;6 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;1,340&#160;&lt;/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;Developed technology&lt;/span&gt;&lt;/td&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;6 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;440&#160;&lt;/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;Trade names&lt;/span&gt;&lt;/td&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;6 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;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;text-align:left;vertical-align:bottom"&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="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713&#160;&lt;/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;Operating lease ROU assets&lt;/span&gt;&lt;/td&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;3 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;149&#160;&lt;/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 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;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/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;Other accrued 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;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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 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;Short-term operating lease obligation&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;(48)&lt;/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;Deferred revenue&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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,539)&lt;/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;Long-term operating lease obligation&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;(101)&lt;/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;Long-term deferred revenue&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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(851)&lt;/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;&#160;&#160;&#160;&#160;&#160;Cash paid&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 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;939&#160;&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;/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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Management's determination of the fair value of intangible assets acquired are based primarily on significant inputs not observable in an active market and thus represent Level 3 fair value measurements as defined under U.S. GAAP.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 assigned to the Qterics developed technology and trade names intangible assets were determined utilizing a relief from royalty method. Under the relief from royalty method, the fair value of the intangible asset is estimated to be the present value of the royalties saved because the company owns the intangible asset. Revenue projections and estimated useful life were significant inputs into estimating the value of the Qterics developed technology and trade names.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 assigned to Qterics customer relationships intangible assets were determined utilizing a multi-period excess earnings approach. Under the multi-period excess earnings approach, the fair value of the intangible asset is estimated to be the present value of future earnings attributable to the asset and utilizes revenue and cost projections, including an assumed contributory asset charge.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The developed technology, trade names and customer relationships intangible assets are expected to be deductible for income tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="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;Pro Forma Results (unaudited)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The unaudited pro forma financial information of combined results of our operations and the operations of Qterics as if the transaction had occurred on January 1, 2021, is immaterially different from the net sales, net income and income per share amounts reported in the Consolidated Statements of Operations for the years ended December&#160;31, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i4fbf725477324b18a09c94e17f727528_D20220217-20220217"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGV4dHJlZ2lvbjoxMjViYTJhYTkyZTE0OTU3YTM1NWY4YzM0Yjc4NDU1MF81NDk3NTU4MTcwNzE_3ec0831f-0d55-467c-8e23-1a0bde38518c"
      unitRef="usd">900000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="ia21723615fe745559e2197992add2fc7_D20220217-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGV4dHJlZ2lvbjoxMjViYTJhYTkyZTE0OTU3YTM1NWY4YzM0Yjc4NDU1MF81NDk3NTU4MTcxNTQ_a91ca2fb-b490-4eca-802a-97e17fcf6d8b"
      unitRef="usd">2100000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="ia21723615fe745559e2197992add2fc7_D20220217-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGV4dHJlZ2lvbjoxMjViYTJhYTkyZTE0OTU3YTM1NWY4YzM0Yjc4NDU1MF8xMDk5NTExNjMxMTky_5e6ca047-9c58-40f0-8496-6f777f28f5f6"
      unitRef="usd">145000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="i900015ba405a48f7b4f2d454c89acf99_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGV4dHJlZ2lvbjoxMjViYTJhYTkyZTE0OTU3YTM1NWY4YzM0Yjc4NDU1MF8xNjQ5MjY3NDQ1MDk0_689ef086-c4d1-41be-9737-c9ba167ea498">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Management's purchase price allocation as of December&#160;31, 2022 was the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:63.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.297%"/&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:16.300%"/&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:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&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 Lives&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;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:bottom"&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:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&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;787&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment&lt;/span&gt;&lt;/td&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;5 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;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;/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;Customer relationships&lt;/span&gt;&lt;/td&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;6 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;1,340&#160;&lt;/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;Developed technology&lt;/span&gt;&lt;/td&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;6 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;440&#160;&lt;/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;Trade names&lt;/span&gt;&lt;/td&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;6 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;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;text-align:left;vertical-align:bottom"&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="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713&#160;&lt;/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;Operating lease ROU assets&lt;/span&gt;&lt;/td&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;3 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;149&#160;&lt;/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 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;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/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;Other accrued 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;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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 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;Short-term operating lease obligation&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;(48)&lt;/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;Deferred revenue&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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,539)&lt;/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;Long-term operating lease obligation&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;(101)&lt;/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;Long-term deferred revenue&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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(851)&lt;/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;&#160;&#160;&#160;&#160;&#160;Cash paid&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 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;939&#160;&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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV8xLTMtMS0xLTQ5MzAz_59d20e1f-75b8-4372-b5c2-9d225a8d4e33"
      unitRef="usd">787000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ia21723615fe745559e2197992add2fc7_D20220217-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV8yLTEtMS0xLTQ5MzAz_237b5a17-061e-4df6-9ae9-1b9012647c45">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV8yLTMtMS0xLTQ5MzAz_111ce2a1-feb3-431c-9b9a-b0da4b4e55ba"
      unitRef="usd">3000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ia954dc04458944609ba97303cf40075e_D20220217-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV8zLTEtMS0xLTQ5MzAz_c017e56f-a69e-49f8-bee1-2dbf01439d24">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="ia420416854db41aa8edf979f27a36642_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV8zLTMtMS0xLTQ5MzAz_85d57e6b-d20a-4d14-8e50-a19596c1c169"
      unitRef="usd">1340000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i3477d11a85834e9cae8ee90987378d89_D20220217-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV80LTEtMS0xLTQ5MzAz_30f1e1ea-f395-4ac5-b24e-ba47c9257ef5">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i3c65985631654d63865b9bfb82843eec_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV80LTMtMS0xLTQ5MzAz_ac6280e4-3664-4ee6-b5ff-085346655d88"
      unitRef="usd">440000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="if3e81718215d46718aa296e53ab06457_D20220217-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV81LTEtMS0xLTQ5MzAz_9dfd4cc7-c08e-4ebc-9dd1-ef15ec1bb518">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i5770c73567114dcaa7ddd16b6d3b9f56_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV81LTMtMS0xLTQ5MzAz_b06b67f4-61df-4bfa-9cb9-7ef625e1db96"
      unitRef="usd">50000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:Goodwill
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV82LTMtMS0xLTQ5MzAz_e235aad4-aebc-43af-980b-74534ad67e1a"
      unitRef="usd">713000</us-gaap:Goodwill>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV83LTEtMS0xLTQ5MzAz_2baaf33b-5e5d-4df0-a711-708b6391aed3">P3Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <ueic:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightOfUseAssets
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV83LTMtMS0xLTQ5MzAz_f5002f5d-abca-488f-95cd-b3ffbbcc7ec1"
      unitRef="usd">149000</ueic:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightOfUseAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV84LTMtMS0xLTQ5MzAz_dc3dafe4-d9de-4d4e-8e2d-0f542fe003b2"
      unitRef="usd">2000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV85LTMtMS0xLTQ5MzAz_cdd845ac-4507-43b7-bfcf-5ada3ba55f71"
      unitRef="usd">6000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV8xMC0zLTEtMS00OTMwMw_994b0fef-3adf-4b05-9a23-2ec361c3321b"
      unitRef="usd">48000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV8xMS0zLTEtMS00OTMwMw_d9c78308-8d3c-4c60-bc82-bc565d139b5a"
      unitRef="usd">1539000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
    <ueic:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedLeaseObligationNoncurrent
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV8xMi0zLTEtMS00OTMwMw_a3121f73-d56d-40f3-8671-77bf10eb060a"
      unitRef="usd">101000</ueic:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedLeaseObligationNoncurrent>
    <ueic:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesDeferredRevenue
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV8xMy0zLTEtMS00OTMwMw_dc766d14-9ded-4839-b514-a7f8c3458e66"
      unitRef="usd">851000</ueic:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesDeferredRevenue>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="ifef3202f954f460e99051116d2d55de9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmU1MDQ5Y2VkMjk3ZDRkZTQ5MzhlMTRjNmVmY2JjZDE1L3NlYzplNTA0OWNlZDI5N2Q0ZGU0OTM4ZTE0YzZlZmNiY2QxNV8xNjU2L2ZyYWc6MTI1YmEyYWE5MmUxNDk1N2EzNTVmOGMzNGI3ODQ1NTAvdGFibGU6YzgxZGNiZGIxNmY3NGUwNDkxNTE1MjMyNzg3MGJmNWEvdGFibGVyYW5nZTpjODFkY2JkYjE2Zjc0ZTA0OTE1MTUyMzI3ODcwYmY1YV8xNC0zLTEtMS00OTMwMw_13e4aa3c-37e7-4a69-8318-7ab07c003fcc"
      unitRef="usd">939000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
</xbrl>
