<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:aip="http://www.arteris.com/20211231"
  xmlns:country="http://xbrl.sec.gov/country/2021"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  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="aip-20211231.xsd" xlink:type="simple"/>
    <context id="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iac0c161e32fa49db8c2c8c5ef9884ddc_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="iddef24a38ba94700acde0274bac49ed0_I20220228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
        </entity>
        <period>
            <instant>2022-02-28</instant>
        </period>
    </context>
    <context id="i986c41691cbe4d4790a9b3523d9fe01f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i73d4dacd033244c8adddc11f94223d8c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1224159aa4164ca19f4183b3c6f7c975_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseAndMaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifd1b566a798341148e8d17bc54b3f8dc_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseAndMaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iab1d0d2511e64373af9cfa0d6f8b4049_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aip:VariableRoyaltiesAndOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i81c1b88187ac4bcbb58b4cfd48317474_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aip:VariableRoyaltiesAndOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie2db5cdde30f4eeb88b023bdc59ea51c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1f5678c2e4ad46b1ae9880aa7400f859_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i08f0704f055e456bbdbf14be4d605ad4_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i0e80ee15553b43cb985e8c87b7ae0f6f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i6621d421fe554c4493313d96a093151b_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="ic088c059513a48f5a15ba72dc5c71bd5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i30df7a1b660245238d83de42a400f0e7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="idf510f1be1844b38a158a90ad71b6d99_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i80ff5cc3839747e180e866eee7d350f2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i794e216cf4f64297a20477c77f7347ea_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i97878287726042d7bd817dd17b70f453_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="if926ae301046417d88e5ecd962da4c55_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i73488cdc8be749969600207dcc13dc19_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i726f2180cf594ffa9da842bfe2c5f1d7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i64af4c68de444225890562bd390e31f0_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i87341526890541c8b624bf9b56888652_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i01febd74bb0e4840a483e0ac1d71abba_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iec9faf78d07b4934af709cc3c61ece79_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iccd1684fa8d04144bfb30a6e6d44216c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i2e140e875ac44630a898363fae0c5988_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="ic3c29ff3f06f4e97acfe5202311f612f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i8dd34cf728b24e62bf185dccc7a288c7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i4f481f381aeb4e15912d1c3a47d7a69c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i4b51344f2bd04876b0e151e58f27d152_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="ic2623421ed8c446ebae1fef3c15522b6_D20211001-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="id05357d80541450ba7744ef7a8c98a5f_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i5540050c13ff481ab50a789c6ff0060d_D20211001-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:OverAllotmentOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="iee28f14dff7f45b7a54245d52aa7b0bf_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">aip:CustomerAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i652d0f2003094168836db5f0d9f4622e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">aip:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0a006d8cfcfc45d2a9cc4ec3fc88a19e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">aip:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ifec953d10c7a4d97a94f645219adc9d7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">aip:CustomerCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2a027b8b0b2c463a900dfcdb145a4190_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">aip:CustomerCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ia0efccd791274602b409c58646d086b4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">aip:CustomerCMember</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="i460f5f0b5ea34264aa10a0f1c7822ccc_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">aip:CustomerCMember</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="i8174a5d9426a4cfaadd9e7ab7348661d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">aip:CustomerDMember</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="i8abe3d68f08648448200e69165da0c55_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5525390cec3a47fabad79bd4d7ebd801_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6726e893cbeb497b8b595783915ec796_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1d3d0a731cd648de85aafff4c56b243a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie83d75cf6d7e491e842a7358464c9db6_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3c62b147901c459fae182791576a986d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i72039472e0b44554b26bb61f7fd7cd19_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0ef90bc6b87a4840b721829af4ac4939_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i1c1c78235e8c4c28879b5879a3d30763_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i719ac3f1e767449ca7d8cd0b9405d77c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i7b36dc88d71b40a8b20ecaf32ab73216_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i6facb2ea99b4472f8a639ec6beebcb34_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i95df61afa9cf43888345ba496ef14939_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie0dd16655b0341f9b09618be2d559d62_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie6d8a32994954801abbf017088393584_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i174b88469f8142e9ba1c6fa0e0e93b79_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="iaf426f7952f24ca1a645190d7821e3be_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="idbf661dfd6d840a38a214541758e1adf_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i49d04ea408ff42008e7e72ef17ef6b79_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia71e05c8e6284358be79f82ff539097e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i514be6d2885046238088e0ed93542458_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie313f07cf55a41718bc7dad551143a25_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i38d712f2a36c4f07b3f80c3f26e3a636_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i74ec8353cd294e5bb506e16c5e8a870c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic11a5e42f4f744ad96a1ca9362095f90_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4a42638650714b89bdb330f2e7b20d4e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:AccruedIncomeReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8b1c9a1b33604535afc48c16ca80445d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:AccruedIncomeReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i520d4b04da43468a859e23b200e9c8b1_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4f600ffc360b4a3cb2e9158f0ba6defc_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i07a503cb9c964d0c98e86d02b28f9f38_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ifa88237cfecf411f9d1f507ecccd982b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib8d9078da5944bb0a9f74802a70c44d8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i6ea1d6294cce468693972499d823e6d8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i317c9ec94e234a1d8aae6295d6d24cdf_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i81c7c97c82f041b1825c41076b25444b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8eaba711f1e64cf19b6fbbdc95ba4617_D20201130-20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-30</startDate>
            <endDate>2020-11-30</endDate>
        </period>
    </context>
    <context id="i1f9071e5b8e141c9a914f86b0ddb3a51_D20201130-20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-30</startDate>
            <endDate>2020-11-30</endDate>
        </period>
    </context>
    <context id="i5db42eb903e747cb8bb1a70989f13c5c_D20201130-20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-30</startDate>
            <endDate>2020-11-30</endDate>
        </period>
    </context>
    <context id="id25fb33e8c394c3193bb529e31d91aac_D20201130-20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-30</startDate>
            <endDate>2020-11-30</endDate>
        </period>
    </context>
    <context id="i7be6bd8aa9a744d7b65fc3535584bfb9_D20201130-20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-30</startDate>
            <endDate>2020-11-30</endDate>
        </period>
    </context>
    <context id="i41819c4d247144f4950800bdda79bcfe_I20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-30</instant>
        </period>
    </context>
    <context id="i4363e2d1d19842cb948de61c8d915c53_I20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-30</instant>
        </period>
    </context>
    <context id="ibe92c17fc1304c5db9e7bfeae3f492af_D20201130-20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-30</startDate>
            <endDate>2020-11-30</endDate>
        </period>
    </context>
    <context id="i94ae76f72f0a4455a53df3a780f99fa1_I20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-30</instant>
        </period>
    </context>
    <context id="ic11e450b8eeb4101a7cb5ddd79426b1d_D20201130-20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-30</startDate>
            <endDate>2020-11-30</endDate>
        </period>
    </context>
    <context id="i2bff67dd92f14ee09fd7bee6fb5cf18d_I20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-30</instant>
        </period>
    </context>
    <context id="i296299c70f7f45dd83cc21405344df67_I20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-30</instant>
        </period>
    </context>
    <context id="id64ddacb41c24c3b97cc2511c1ee4396_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:MagillemDesignServicesSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1f54152529a34ccb9b54c178ec0417d4_I20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-11-30</instant>
        </period>
    </context>
    <context id="i820aaa18e58a419eb01e993999bb212e_D20181101-20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2018-11-30</endDate>
        </period>
    </context>
    <context id="ibe109ede4eb44b869a7a77a352998011_D20181101-20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2018-11-30</endDate>
        </period>
    </context>
    <context id="ibcf7d73225c945eab97b946280b51882_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9cf26e80f51549898ce0dbecef2d80ee_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aip:RevolvingLineOfCreditDueAugust2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i795435d335dc405890116d8b9efe2bde_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aip:RevolvingLineOfCreditDueNovember2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib28017aef1554fb69405c196edeccc10_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aip:RevolvingLineOfCreditDueNovember2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="icb9a6a3f907d49a78ad6245a308ce8c4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id6d5d6fd1baf472b83fb4f1403c14eef_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">aip:VendorFinancingArrangementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i775e9851ba0b4e8fa1f23b538038df05_I20200430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aip:PaycheckProtectionProgramMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-04-30</instant>
        </period>
    </context>
    <context id="i162aa5e47d4a41abba0f3305db99d06b_D20200401-20200430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">aip:PaycheckProtectionProgramMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="i6625223ef6a54daca990ccd27fa1f126_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i76d395d213fc4f459a251f807eb60fe6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic7a370de43c14452bf9bcbb90b5db9b5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aip:A2016StockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2778963c9e2043f0b4445aa03a4a2638_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aip:A2016StockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2a3182f5dff54f47b4499893a144b1b4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aip:A2021StockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia3e5ae4db477415f918c4c501f2db321_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aip:A2021StockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i73d52a526fee45ed9d942b5990ac2764_I20211026">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aip:A2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-26</instant>
        </period>
    </context>
    <context id="i829f0a5f9aef4e36acf0007cde9b3dfe_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2ff462773926498186edacde2a82475e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9220a7773ed0422f8e0f514fb5ce0282_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iecb86ed3a5264f61a6e354edf86bce1e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id6484f6647c34df180e5901c42401cac_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8d85fbc1e0d040b89a6f448e1f6cc477_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2cce025767aa438987d6c3529b0b07eb_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i383bb80805e1466285f561078cabeb03_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9a9cfdb1e0724d89bcabe9a1c4d0c086_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9e8ba084d41649c68b8258fb037042b7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2d98561ea66240c09592ea110e8d63bd_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i5cc1251174e04a91b0923a9a064f1cd0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i6463988724a2407cb321bc8447c1b016_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic00193b7c6864fa99642ccbffb24e6f2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i81d0d4d7acb846dbb89c5a2a297bc935_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i88444fadd83e44d28a8d3d8e97306f5d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i953fa6bcb0484159a13e9510ac6b2979_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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>2021-12-31</instant>
        </period>
    </context>
    <context id="i54af2501ba814130a81804ac7e8a999c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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>2021-12-31</instant>
        </period>
    </context>
    <context id="ib89257013e40401c932ceea524827e07_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:IsabelleGedayMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">us-gaap:LeaseAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1c24e526ba0742a58a9d2d219927b397_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:IsabelleGedayMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">us-gaap:LeaseAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i391f5fcbf3864b7987f1046ce7df1dbc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:IsabelleGedayMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">aip:ConsultingAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i369228f1f1064e3bbe0969d778fd603a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:IsabelleGedayMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">aip:ConsultingAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="aip:RelatedPartyTransactionTrancheAxis">aip:RelatedPartyTransactionTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie6990af63a344a8b9c70a7d9090d751e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:IsabelleGedayMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">aip:ConsultingAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="aip:RelatedPartyTransactionTrancheAxis">aip:RelatedPartyTransactionTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i456ccc7e0b894d3782c0c592ad387b16_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:IsabelleGedayMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">aip:ConsultingAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="aip:RelatedPartyTransactionTrancheAxis">aip:RelatedPartyTransactionTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie05c21cc42104c5dbcc5972f6af31688_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:IsabelleGedayMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">aip:ConsultingAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="aip:RelatedPartyTransactionTrancheAxis">aip:RelatedPartyTransactionTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3bcdaefb507941b88d76fbcd9aed1ff9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:IsabelleGedayMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">aip:PriorEmploymentAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i32bc3da5b9f949ae87dad7dff8523b64_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:IsabelleGedayMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">aip:PriorEmploymentAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5d1692a8fb8c44cca8c1f6fb4e61f957_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:IsabelleGedayMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i779228482b0d456f84423031cce376cf_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8a5a73445f964db6a810cf890bc92389_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8ef261ab17204488b19ea6e4fc4d2713_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iebc7cfebb73b448d9e324c6a977e5e68_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i89d926fa83584d7b80a440f43ddfff7f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3ac51a329d584407b0d06a0f18e99a1d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id6b5771d1a7f45d98f665819b9d2b021_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7f45eb67001f454bbc9cefded34051de_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i75363b44ae5744d6ab879ac665cf08d2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:EuropeAndMiddleEastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i966761209a2443e4b1ffa4ae09028593_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:EuropeAndMiddleEastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ida9994915372415f9de6bde208f112c6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:EuropeAndMiddleEastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i548c62d17acd41c5bdce96be0e5e2730_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:EuropeAndMiddleEastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8072d12b9e4b465e8c68d10d16b02d19_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="ia5a5c78f94e74c9db8f96c2d09391bf4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i895ffe6a2c3f40a58ea8f37edd586f29_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="iaf6de25d914d4fb3b2a8ed32082aa7d0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5f2085df3ceb4ec9956175ecf3192f50_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherAmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i12e5f9105aaf4940bd7f0e381fc0cfea_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherAmericasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i44e9497d65cb46e0a1b7b226b12c9f2d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherAmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ia322ba61f58b404c8e88c6369fa4b0bf_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherAmericasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i213a0bddbba64478bcd5df15b28d3fc9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="ia9ea75c202fe4fdfa3cf257a31f75b12_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i418e5e8a24ad4b1ea00974a9053a488f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</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="i22813609275c488d883bc7f8b2c7c899_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8eb1d5422308465c8572c91c488044ed_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ieedb04a8f34e4b71a80f1d77ee9b264b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherAsiaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i89350dd332fe48549a592cf9c0a25139_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2bc786db5de04e4082c97ce4d3ca68ba_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherAsiaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i270bbc7e8c814f55a57cdbb4d8bc69fd_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8278ebb7a1bc46d2bf9ddfadcd747d3e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2d98de4896564383a80d3a6238de2055_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4ae843cbd08049d7848bf184054f62bf_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i74b638eca41243a69b59520e94a87265_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4ddef6dcae614494bcf939c1972d4d5c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia20d6267e3744599a6f6f79e62036786_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic6a0e9b4a3724c0196b8f8e64d692127_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i55b24624ba774251a4cab63e6593bb54_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0281435dca154d0da0e7b3e5c0587820_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2ba5aac9c96f47b396f3f409c79d446f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i44b8ec3c6d014c58b16dc65e0f9788d4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">aip:OtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9cfd5d102430449a887341c156c6f493_I20220220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:TransChipTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">aip:ArterisIPHongKongLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-20</instant>
        </period>
    </context>
    <context id="i49f7c3e050344901acb1ec71a3be86b9_I20220221">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:TransChipTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">aip:ArterisIPHongKongLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-21</instant>
        </period>
    </context>
    <context id="i6d6bbbeef5dd4b8b834e96b94b14ce6d_D20220221-20220221">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:TransChipTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">aip:ArterisIPHongKongLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-21</startDate>
            <endDate>2022-02-21</endDate>
        </period>
    </context>
    <context id="i3c091a7ed06f4e7e98da038feb1bedec_I20220221">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001667011</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">aip:TransChipTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">aip:TransChipTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">aip:ArterisIPHongKongLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-02-21</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="vote">
        <measure>aip:vote</measure>
    </unit>
    <unit id="plan">
        <measure>aip:plan</measure>
    </unit>
    <unit id="segment">
        <measure>aip:segment</measure>
    </unit>
    <unit id="cny">
        <measure>iso4217:CNY</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl80L2ZyYWc6ZmI0ZGNkZjA3NTA1NGE3YTlmYjNhODFhOGNiYzEwM2MvdGFibGU6MGU3ZWM3Y2JhMDdlNGJmNmIxN2U5Y2RjZjk0MDU1ZGUvdGFibGVyYW5nZTowZTdlYzdjYmEwN2U0YmY2YjE3ZTljZGNmOTQwNTVkZV84LTEtMS0xLTM0MDU1_f7e9ade4-02cb-4990-a8b2-f10b7d291dce">0001667011</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl80L2ZyYWc6ZmI0ZGNkZjA3NTA1NGE3YTlmYjNhODFhOGNiYzEwM2MvdGFibGU6MGU3ZWM3Y2JhMDdlNGJmNmIxN2U5Y2RjZjk0MDU1ZGUvdGFibGVyYW5nZTowZTdlYzdjYmEwN2U0YmY2YjE3ZTljZGNmOTQwNTVkZV85LTEtMS0xLTM0MDU1_f923bf4e-0d2b-44b4-be9e-cea38cca0fad">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl80L2ZyYWc6ZmI0ZGNkZjA3NTA1NGE3YTlmYjNhODFhOGNiYzEwM2MvdGFibGU6MGU3ZWM3Y2JhMDdlNGJmNmIxN2U5Y2RjZjk0MDU1ZGUvdGFibGVyYW5nZTowZTdlYzdjYmEwN2U0YmY2YjE3ZTljZGNmOTQwNTVkZV8xMC0xLTEtMS0zNDA1NQ_62d21b93-aa22-4e57-8a9e-bddde0b6cc34">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl80L2ZyYWc6ZmI0ZGNkZjA3NTA1NGE3YTlmYjNhODFhOGNiYzEwM2MvdGFibGU6MGU3ZWM3Y2JhMDdlNGJmNmIxN2U5Y2RjZjk0MDU1ZGUvdGFibGVyYW5nZTowZTdlYzdjYmEwN2U0YmY2YjE3ZTljZGNmOTQwNTVkZV8xMS0xLTEtMS0zNDA1NQ_5e5c0535-3089-4f18-b7a9-8d546f0e1ca3">false</dei:AmendmentFlag>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i8abe3d68f08648448200e69165da0c55_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5Mzk_d03252e9-388c-49ef-bc1f-21a577f34b9d">P1Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i8abe3d68f08648448200e69165da0c55_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5NDE_809068d8-e8d0-4098-8762-01725b23b199">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <aip:LicensingArrangementPeriod
      contextRef="i8abe3d68f08648448200e69165da0c55_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzg3OTYwOTMxMTAyMDc_35392e9c-3176-485f-a13f-3ad49c319045">P2Y</aip:LicensingArrangementPeriod>
    <aip:SoftwareLicensePeriod
      contextRef="i8abe3d68f08648448200e69165da0c55_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzg3OTYwOTMxMTAyMzM_d901db38-cef7-4f16-a118-7a867f8b9792">P1Y</aip:SoftwareLicensePeriod>
    <aip:BusinessCombinationContingentConsiderationPaymentMetricsPeriod
      contextRef="i1f9071e5b8e141c9a914f86b0ddb3a51_D20201130-20201130"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90ZXh0cmVnaW9uOjRjMGI5MDM5YjRmOTQ4ZTg5MTZjMzU4YzBhMDk5Y2NiXzE3MDQyNDMwMjQzNzEz_d8cca953-8772-4fb6-819f-955c0a0cf795">P1Y</aip:BusinessCombinationContingentConsiderationPaymentMetricsPeriod>
    <dei:DocumentType
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzM5MzI1_e4ffb36c-a789-40e5-a248-a7997b067b0b">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6OWE2YWQ0ZjhkMjBlNDk1MWIwYWRmOGRmNTgzNmZlNDYvdGFibGVyYW5nZTo5YTZhZDRmOGQyMGU0OTUxYjBhZGY4ZGY1ODM2ZmU0Nl8wLTAtMS0xLTMzOTcy_50ad6140-52fc-4208-a6bb-bd7574047380">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV8xMDk5NTExNjQyMTM1_23085f55-7baf-42ea-9297-11acbee93e53">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV8xMDk5NTExNjQyMTM1_224e92b1-c6a5-454f-b88e-9286a7d74610">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6NmNkNWM2MzMyYzRlNGYxOGIwMGZiNTVmMDliNjgzMDMvdGFibGVyYW5nZTo2Y2Q1YzYzMzJjNGU0ZjE4YjAwZmI1NWYwOWI2ODMwM18wLTAtMS0xLTMzOTc2_54b4f04a-1d8f-487a-a33a-54a6e5a7200f">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzM5MzI2_74d053bf-daf1-424f-a319-49621a00b385">001-40960</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzM5MzI3_6d8acb12-80d4-47e1-9b04-90aa26532d31">ARTERIS, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6NTA2YWFkYTRmNTUwNDA0ZTkzM2U2ZGZiMWMyODJkMjQvdGFibGVyYW5nZTo1MDZhYWRhNGY1NTA0MDRlOTMzZTZkZmIxYzI4MmQyNF8wLTAtMS0xLTMzOTgx_9df07683-3df4-41fa-bf70-698f9ebe37e4">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6NTA2YWFkYTRmNTUwNDA0ZTkzM2U2ZGZiMWMyODJkMjQvdGFibGVyYW5nZTo1MDZhYWRhNGY1NTA0MDRlOTMzZTZkZmIxYzI4MmQyNF8wLTItMS0xLTMzOTg1_8b2b17e9-19f5-4000-808e-3b87343d62c5">27-0117058</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6NTA2YWFkYTRmNTUwNDA0ZTkzM2U2ZGZiMWMyODJkMjQvdGFibGVyYW5nZTo1MDZhYWRhNGY1NTA0MDRlOTMzZTZkZmIxYzI4MmQyNF8zLTAtMS0xLTM0MDYwL3RleHRyZWdpb246M2FjYTM4Y2YyMzFjNDI1M2I4NjJjNmIwZWMwOTRlODJfODc5NjA5MzAyMjI4Ng_3b16ca4d-89ed-4285-bc81-e5708ab12212">595 Millich Dr.</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6NTA2YWFkYTRmNTUwNDA0ZTkzM2U2ZGZiMWMyODJkMjQvdGFibGVyYW5nZTo1MDZhYWRhNGY1NTA0MDRlOTMzZTZkZmIxYzI4MmQyNF8zLTAtMS0xLTM0MDYwL3RleHRyZWdpb246M2FjYTM4Y2YyMzFjNDI1M2I4NjJjNmIwZWMwOTRlODJfODc5NjA5MzAyMjI5OA_4423304d-557e-461d-a582-58357f664161">Suite 200</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6NTA2YWFkYTRmNTUwNDA0ZTkzM2U2ZGZiMWMyODJkMjQvdGFibGVyYW5nZTo1MDZhYWRhNGY1NTA0MDRlOTMzZTZkZmIxYzI4MmQyNF8zLTAtMS0xLTM0MDYwL3RleHRyZWdpb246M2FjYTM4Y2YyMzFjNDI1M2I4NjJjNmIwZWMwOTRlODJfODc5NjA5MzAyMjMwOQ_47ed274c-1f58-4d86-9c62-1469bee16115">Campbell</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6NTA2YWFkYTRmNTUwNDA0ZTkzM2U2ZGZiMWMyODJkMjQvdGFibGVyYW5nZTo1MDZhYWRhNGY1NTA0MDRlOTMzZTZkZmIxYzI4MmQyNF8zLTAtMS0xLTM0MDYwL3RleHRyZWdpb246M2FjYTM4Y2YyMzFjNDI1M2I4NjJjNmIwZWMwOTRlODJfODc5NjA5MzAyMjMxNA_da65ca4e-8fc9-4c79-889b-aaca7117caed">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6NTA2YWFkYTRmNTUwNDA0ZTkzM2U2ZGZiMWMyODJkMjQvdGFibGVyYW5nZTo1MDZhYWRhNGY1NTA0MDRlOTMzZTZkZmIxYzI4MmQyNF8zLTAtMS0xLTM0MDYwL3RleHRyZWdpb246M2FjYTM4Y2YyMzFjNDI1M2I4NjJjNmIwZWMwOTRlODJfODc5NjA5MzAyMjMyMg_5501d000-119e-4960-96e5-4f8f81d182a4">95008</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6NTA2YWFkYTRmNTUwNDA0ZTkzM2U2ZGZiMWMyODJkMjQvdGFibGVyYW5nZTo1MDZhYWRhNGY1NTA0MDRlOTMzZTZkZmIxYzI4MmQyNF8zLTAtMS0xLTM0MDYwL3RleHRyZWdpb246M2FjYTM4Y2YyMzFjNDI1M2I4NjJjNmIwZWMwOTRlODJfODc5NjA5MzAyMjMyOA_f2d831b8-410a-4199-91e9-d6f1cb055b1d">408</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6NTA2YWFkYTRmNTUwNDA0ZTkzM2U2ZGZiMWMyODJkMjQvdGFibGVyYW5nZTo1MDZhYWRhNGY1NTA0MDRlOTMzZTZkZmIxYzI4MmQyNF8zLTAtMS0xLTM0MDYwL3RleHRyZWdpb246M2FjYTM4Y2YyMzFjNDI1M2I4NjJjNmIwZWMwOTRlODJfODc5NjA5MzAyMjMzOQ_e9c29428-2f2c-4d13-9048-72da8819a99b">470-7300</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6OWRiNTdmYTkzOWNlNGFiNzk1ZDRlZjBlNTJlOTkxYjIvdGFibGVyYW5nZTo5ZGI1N2ZhOTM5Y2U0YWI3OTVkNGVmMGU1MmU5OTFiMl8xLTAtMS0xLTMzOTg3_b80587ea-74c7-450b-9432-64c91514ceb6">Common Stock, $0.001 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6OWRiNTdmYTkzOWNlNGFiNzk1ZDRlZjBlNTJlOTkxYjIvdGFibGVyYW5nZTo5ZGI1N2ZhOTM5Y2U0YWI3OTVkNGVmMGU1MmU5OTFiMl8xLTEtMS0xLTMzOTg3_ee76ea99-9a77-4cfa-bc27-cd1a02e3f979">AIP</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6OWRiNTdmYTkzOWNlNGFiNzk1ZDRlZjBlNTJlOTkxYjIvdGFibGVyYW5nZTo5ZGI1N2ZhOTM5Y2U0YWI3OTVkNGVmMGU1MmU5OTFiMl8xLTItMS0xLTMzOTg3_60292bfc-83d3-406b-a57b-c5031ea74cbe">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzM5MzI4_42a0d150-d79e-480d-b52f-a8907cd6370a">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzM5MzI5_4a0e8768-a4b9-4e98-b7c3-80f28adeadff">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzM5MzQ3_80bf72a0-37eb-40c6-8c79-2a9f162a42ff">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzM5MzMw_9bab76cd-a157-49c8-87a1-e37a87c6e418">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6ODkxZjIxYWFmMTFlNGIzNGI0Mjk3NmRlYTQ1ZmNhMTAvdGFibGVyYW5nZTo4OTFmMjFhYWYxMWU0YjM0YjQyOTc2ZGVhNDVmY2ExMF8xLTAtMS0xLTMzOTk2_710aab69-4488-45fb-aa23-65c69702b93a">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6ODkxZjIxYWFmMTFlNGIzNGI0Mjk3NmRlYTQ1ZmNhMTAvdGFibGVyYW5nZTo4OTFmMjFhYWYxMWU0YjM0YjQyOTc2ZGVhNDVmY2ExMF8xLTMtMS0xLTMzOTk4_ce11f4bc-1fee-4cb0-a797-d5b4bc182bfa">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGFibGU6ODkxZjIxYWFmMTFlNGIzNGI0Mjk3NmRlYTQ1ZmNhMTAvdGFibGVyYW5nZTo4OTFmMjFhYWYxMWU0YjM0YjQyOTc2ZGVhNDVmY2ExMF8yLTMtMS0xLTMzOTk4_763e1cef-0f12-4af1-93f9-e9784db414e3">true</dei:EntityEmergingGrowthCompany>
    <dei:EntityExTransitionPeriod
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzM5MzMx_16d8751b-8822-4d11-be7f-048f7bd2d9dd">false</dei:EntityExTransitionPeriod>
    <dei:EntityShellCompany
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzM5MzMy_09b3b720-27c7-44ac-9938-4c449a34ef11">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="iac0c161e32fa49db8c2c8c5ef9884ddc_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzQzNjE4_693f24d9-a582-4e2c-a0ef-f554e5644380"
      unitRef="usd">0</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="iddef24a38ba94700acde0274bac49ed0_I20220228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzM5MzM0_3db19953-7710-4366-afe7-56c819c53433"
      unitRef="shares">31609223</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xL2ZyYWc6MjE5MTgzMTdmNmFmNDU2MzhiYWFhMDA4OWIwNDE1NTkvdGV4dHJlZ2lvbjoyMTkxODMxN2Y2YWY0NTYzOGJhYWEwMDg5YjA0MTU1OV80OTQ3ODAyMzM5MzQ1_20e1108f-b453-45d3-9483-9402e7200f55">Portions of the registrant's definitive Proxy Statement relating to the 2022 Annual Meeting of Stockholders are incorporated herein by references in Part III of this Annual Report on Form 10-K to the extent stated herein. Such Proxy Statement will be filed with the Securities and Exchange Commission within 120 days of the registrant's fiscal year ended December 31, 2021.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorName
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl84OC9mcmFnOjQ4ZTY2MGE4YjBlYTRhMmZiZWJmMzZkMDYzMzYzZjc0L3RhYmxlOmQ0MjIwNmM5N2Q3MjQ2YmNiZTNiMDFmMTMzYzUyYjczL3RhYmxlcmFuZ2U6ZDQyMjA2Yzk3ZDcyNDZiY2JlM2IwMWYxMzNjNTJiNzNfMy0wLTEtMS01MDI2My90ZXh0cmVnaW9uOjA4MTI2MzdmZmM3NjQyM2U5MGM4YWFkYWZiM2I5NjBiXzE2NDkyNjc0NDE3MzQ3_5f3d1133-9599-4117-990b-51fcd85dce2f">Moss Adams LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl84OC9mcmFnOjQ4ZTY2MGE4YjBlYTRhMmZiZWJmMzZkMDYzMzYzZjc0L3RhYmxlOmQ0MjIwNmM5N2Q3MjQ2YmNiZTNiMDFmMTMzYzUyYjczL3RhYmxlcmFuZ2U6ZDQyMjA2Yzk3ZDcyNDZiY2JlM2IwMWYxMzNjNTJiNzNfMy0wLTEtMS01MDI2My90ZXh0cmVnaW9uOjA4MTI2MzdmZmM3NjQyM2U5MGM4YWFkYWZiM2I5NjBiXzE2NDkyNjc0NDE3Mjk5_1166c992-4ad0-4a43-972e-b5193af4c0bf">San Francisco, CA</dei:AuditorLocation>
    <dei:AuditorFirmId
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl84OC9mcmFnOjQ4ZTY2MGE4YjBlYTRhMmZiZWJmMzZkMDYzMzYzZjc0L3RhYmxlOmQ0MjIwNmM5N2Q3MjQ2YmNiZTNiMDFmMTMzYzUyYjczL3RhYmxlcmFuZ2U6ZDQyMjA2Yzk3ZDcyNDZiY2JlM2IwMWYxMzNjNTJiNzNfMy0wLTEtMS01MDI2My90ZXh0cmVnaW9uOjA4MTI2MzdmZmM3NjQyM2U5MGM4YWFkYWZiM2I5NjBiXzE2NDkyNjc0NDE3Mjcy_d20bb4f3-c285-490b-9aa0-0c83209ba590">659</dei:AuditorFirmId>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfNC0xLTEtMS0yNTEzMg_80d6eeb8-685d-47f2-8590-5a93f55549e5"
      unitRef="usd">85825000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfNC0zLTEtMS0yNTEzMg_7f5f434c-2905-42ae-aacf-26f6408f4a04"
      unitRef="usd">11744000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfNS0xLTEtMS0yNTEzMg_12601034-7fb3-4ce3-bd05-fb203f720d43"
      unitRef="usd">13873000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfNS0zLTEtMS0yNTEzMg_bc4cbe0c-f052-4773-bdd9-7364a8975f2a"
      unitRef="usd">14350000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfNi0xLTEtMS0yNTEzMg_3288c82a-9143-41e6-b3c3-aaf8957006b5"
      unitRef="usd">6949000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfNi0zLTEtMS0yNTEzMg_792cf095-2dba-4de5-8ce0-d9e51a9a4f37"
      unitRef="usd">2858000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfNy0xLTEtMS0yNTEzMg_a63501c8-b3d4-44c3-90ef-3b9fd55ba26e"
      unitRef="usd">106647000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfNy0zLTEtMS0yNTEzMg_bde6147f-01ca-40ad-a38b-39e5f68abffb"
      unitRef="usd">28952000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfOC0xLTEtMS0yNTEzMg_e907083e-9259-45cd-b52f-74277a6838e5"
      unitRef="usd">2438000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfOC0zLTEtMS0yNTEzMg_e46bdd21-6841-4875-8552-9bf1a9891769"
      unitRef="usd">2365000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfOS0xLTEtMS0yNTEzMg_0d4b7e73-c6e1-468b-b045-9cf23ab03d14"
      unitRef="usd">2765000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfOS0zLTEtMS0yNTEzMg_859c3622-3808-4d1d-a90e-1710326b4b96"
      unitRef="usd">2753000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTAtMS0xLTEtMjUxMzI_672801a5-2339-4462-b5dc-929f4df7b1cd"
      unitRef="usd">2959000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTAtMy0xLTEtMjUxMzI_38cd56d9-f669-4167-ac7d-9d95f42acb37"
      unitRef="usd">3409000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTEtMS0xLTEtMjUxMzI_a0a35619-7380-4bc3-88f8-8b74caa0714f"
      unitRef="usd">2677000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTEtMy0xLTEtMjUxMzI_d7ad35c1-5065-4de3-a085-8b1670960df6"
      unitRef="usd">2677000</us-gaap:Goodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTItMS0xLTEtMjUxMzI_dffa789f-963a-404b-9927-086e6a3485aa"
      unitRef="usd">2957000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTItMy0xLTEtMjUxMzI_8f2f4c1f-0783-4480-b3f6-924b5ca17443"
      unitRef="usd">2580000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTMtMS0xLTEtMjUxMzI_036f82f1-0317-40ca-a9ea-f084044f0d7c"
      unitRef="usd">120443000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTMtMy0xLTEtMjUxMzI_48526a01-6e4d-484d-9a71-da7dc9422154"
      unitRef="usd">42736000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTYtMS0xLTEtMjUxMzI_54db9b06-cbda-497c-a711-5451b63e3739"
      unitRef="usd">1722000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTYtMy0xLTEtMjUxMzI_3dfea757-359a-49c3-ae47-7b491fa6a576"
      unitRef="usd">1116000</us-gaap:AccountsPayableCurrent>
    <aip:AccruedAndOtherLiabilitiesCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTctMS0xLTEtMjUxMzI_ae8e9a04-664c-4351-8bdf-a82a4ca4801d"
      unitRef="usd">10573000</aip:AccruedAndOtherLiabilitiesCurrent>
    <aip:AccruedAndOtherLiabilitiesCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTctMy0xLTEtMjUxMzI_18d66409-6151-400d-9411-44beb96da7f2"
      unitRef="usd">7249000</aip:AccruedAndOtherLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTgtMS0xLTEtMjUxMzI_d9264c85-9b9c-41b1-9d57-a03572cb945b"
      unitRef="usd">961000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTgtMy0xLTEtMjUxMzI_59d5c071-8171-4f97-861b-535dcdc8f444"
      unitRef="usd">767000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTktMS0xLTEtMjUxMzI_4c0540e6-3247-4322-81a7-4fa5a6834c07"
      unitRef="usd">28403000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMTktMy0xLTEtMjUxMzI_3d325815-483b-4e78-afb7-fc1bdb025efc"
      unitRef="usd">17894000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <aip:VendorFinancingArrangementsCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjAtMS0xLTEtMjUxMzI_8f555e01-cf1a-4662-89d3-4a0a043146be"
      unitRef="usd">833000</aip:VendorFinancingArrangementsCurrent>
    <aip:VendorFinancingArrangementsCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjAtMy0xLTEtMjUxMzI_00df520b-52a9-414f-b9ba-861da1c32bd4"
      unitRef="usd">643000</aip:VendorFinancingArrangementsCurrent>
    <us-gaap:SecuredDebtCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjEtMS0xLTEtMjUxMzI_829f03e2-3cfa-44f1-bef9-53ec12803ffa"
      unitRef="usd">0</us-gaap:SecuredDebtCurrent>
    <us-gaap:SecuredDebtCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjEtMy0xLTEtMjUxMzI_f0570b74-88c1-4c18-a0c3-53d242dc9671"
      unitRef="usd">557000</us-gaap:SecuredDebtCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjItMS0xLTEtMjUxMzI_82a14d79-0d7b-45e5-bd8c-173238941175"
      unitRef="usd">42492000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjItMy0xLTEtMjUxMzI_32e72168-a0b7-4b01-85f8-27799ee3bbde"
      unitRef="usd">28226000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjMtMS0xLTEtMjUxMzI_9478a953-db20-4618-a146-bfbcfdd3ffca"
      unitRef="usd">20773000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjMtMy0xLTEtMjUxMzI_22b75070-3742-4120-8b6d-86e0bcc7ca04"
      unitRef="usd">15014000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjQtMS0xLTEtMjUxMzI_e4776ed2-1370-4076-9fe8-c5781f177df6"
      unitRef="usd">1851000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjQtMy0xLTEtMjUxMzI_1b0775d6-8224-4420-9296-f068b37d1d7a"
      unitRef="usd">2079000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <aip:VendorFinancingArrangementsNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjUtMS0xLTEtMjUxMzI_5ffb2c42-12f9-488f-bd8f-a90d199bfdec"
      unitRef="usd">266000</aip:VendorFinancingArrangementsNoncurrent>
    <aip:VendorFinancingArrangementsNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjUtMy0xLTEtMjUxMzI_e5b5c6e9-e180-4bee-9cb0-2fd0d5da2975"
      unitRef="usd">727000</aip:VendorFinancingArrangementsNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjctMS0xLTEtMjUxMzI_ef914159-6cd3-4717-93ad-209826846d6b"
      unitRef="usd">2157000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjctMy0xLTEtMjUxMzI_b77f11d3-7eb0-4bd2-bd10-5943e2938726"
      unitRef="usd">2986000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjgtMS0xLTEtMjUxMzI_7f8e279f-1b62-4e1e-9e84-0023bc989ace"
      unitRef="usd">67539000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjgtMy0xLTEtMjUxMzI_9f0f9bb6-5ccb-4883-a6a2-0de3b6f96fa4"
      unitRef="usd">49032000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjktMS0xLTEtMzQxMzk_ed83500e-d51d-4719-855e-1d4bb0a07330"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMjktMy0xLTEtMzQxMzk_5cd51390-0536-420c-8b9d-6e27b16466cf"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:TemporaryEquityParOrStatedValuePerShare
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowZmM4ODY2MzQ3YTI0ZTc5ODM0NTA0NDQ0ZTM5ZjFjNF81OA_a9aaf000-2fbc-4ed3-b56d-a80e55a935ae"
      unitRef="usdPerShare">0.001</us-gaap:TemporaryEquityParOrStatedValuePerShare>
    <us-gaap:TemporaryEquityParOrStatedValuePerShare
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowZmM4ODY2MzQ3YTI0ZTc5ODM0NTA0NDQ0ZTM5ZjFjNF81OA_ff6e33af-bc82-4626-9d04-92ee5030e2c6"
      unitRef="usdPerShare">0.001</us-gaap:TemporaryEquityParOrStatedValuePerShare>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowZmM4ODY2MzQ3YTI0ZTc5ODM0NTA0NDQ0ZTM5ZjFjNF8xNjQ5MjY3NDQxNzA4MQ_08dc347e-748e-41be-85f3-20a260880fe2"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquitySharesAuthorized
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowZmM4ODY2MzQ3YTI0ZTc5ODM0NTA0NDQ0ZTM5ZjFjNF8xNjQ5MjY3NDQxNzA4MQ_de470721-716d-4589-b865-6b475bf4b262"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesAuthorized>
    <us-gaap:TemporaryEquitySharesIssued
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowZmM4ODY2MzQ3YTI0ZTc5ODM0NTA0NDQ0ZTM5ZjFjNF8xNjQ5MjY3NDQxNzA4MQ_ffec2b0c-1f43-49ac-b881-9b1656679982"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesIssued>
    <us-gaap:TemporaryEquitySharesAuthorized
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowZmM4ODY2MzQ3YTI0ZTc5ODM0NTA0NDQ0ZTM5ZjFjNF8xNjQ5MjY3NDQxNzI1OA_8f0a6299-440f-4ad5-9d71-027c96a160b1"
      unitRef="shares">4471316</us-gaap:TemporaryEquitySharesAuthorized>
    <us-gaap:TemporaryEquitySharesIssued
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowZmM4ODY2MzQ3YTI0ZTc5ODM0NTA0NDQ0ZTM5ZjFjNF8xNjQ5MjY3NDQxNzI1OA_b1329ca5-c600-408a-a851-35db8dff4c7d"
      unitRef="shares">4471316</us-gaap:TemporaryEquitySharesIssued>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowZmM4ODY2MzQ3YTI0ZTc5ODM0NTA0NDQ0ZTM5ZjFjNF8xNjQ5MjY3NDQxNzI1OA_df84f3dd-61bb-4f81-a034-ec46e6cfe914"
      unitRef="shares">4471316</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquityLiquidationPreference
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowZmM4ODY2MzQ3YTI0ZTc5ODM0NTA0NDQ0ZTM5ZjFjNF8xNjY_a774e155-e2f5-4c3a-8de2-70fe4548eaf9"
      unitRef="usd">0</us-gaap:TemporaryEquityLiquidationPreference>
    <us-gaap:TemporaryEquityLiquidationPreference
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowZmM4ODY2MzQ3YTI0ZTc5ODM0NTA0NDQ0ZTM5ZjFjNF8xNjQ5MjY3NDQxNzI2NQ_2826b980-f4f6-4a07-9bf7-37bbe30b06df"
      unitRef="usd">5768000</us-gaap:TemporaryEquityLiquidationPreference>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMS0xLTEtMjUxMzI_1d51a39f-eeb7-449d-8e85-57e6b053b5cf"
      unitRef="usd">0</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzEtMy0xLTEtMjUxMzI_e8e9402d-129b-4160-b460-7e4c689958dd"
      unitRef="usd">5712000</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtNDI2MzYvdGV4dHJlZ2lvbjozZmMyNzVjYjRmNDE0Yzc1Yjg4ZGU3NGNhMTdhYzRmN18xNzA0MjQzMDIzMDc5NQ_4a533c7f-7609-42a3-a9c9-d3c26121d05e"
      unitRef="usdPerShare">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtNDI2MzYvdGV4dHJlZ2lvbjozZmMyNzVjYjRmNDE0Yzc1Yjg4ZGU3NGNhMTdhYzRmN18xNzA0MjQzMDIzMDc5NQ_530e2081-f8aa-4939-b68c-baaed9ee4f2e"
      unitRef="usdPerShare">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtNDI2MzYvdGV4dHJlZ2lvbjozZmMyNzVjYjRmNDE0Yzc1Yjg4ZGU3NGNhMTdhYzRmN18xMDk5NTExNjI3OTUx_ec936adf-575c-42c4-9217-34f472727a8e"
      unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtNDI2MzYvdGV4dHJlZ2lvbjozZmMyNzVjYjRmNDE0Yzc1Yjg4ZGU3NGNhMTdhYzRmN18xMDk5NTExNjI3OTY0_a26a57a2-3a89-449b-a82c-1f3e2264b26c"
      unitRef="shares">0</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtNDI2MzYvdGV4dHJlZ2lvbjozZmMyNzVjYjRmNDE0Yzc1Yjg4ZGU3NGNhMTdhYzRmN18xMDk5NTExNjI3OTY4_0c1dd831-c198-45f6-b1e1-9c001350333e"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtNDI2MzYvdGV4dHJlZ2lvbjozZmMyNzVjYjRmNDE0Yzc1Yjg4ZGU3NGNhMTdhYzRmN18xMDk5NTExNjI3OTY4_6555a0bd-d78e-4fce-90d8-d1bd0c076f8d"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtNDI2MzYvdGV4dHJlZ2lvbjozZmMyNzVjYjRmNDE0Yzc1Yjg4ZGU3NGNhMTdhYzRmN18xMDk5NTExNjI3OTY4_7d50d254-1516-4e31-b1d3-74080e88ff88"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtNDI2MzYvdGV4dHJlZ2lvbjozZmMyNzVjYjRmNDE0Yzc1Yjg4ZGU3NGNhMTdhYzRmN18xMDk5NTExNjI3OTY4_7d827796-ae40-4c68-ad94-6f269f6d8cee"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMS0xLTEtNDI2MjY_bf23fecb-168c-4e68-bc5b-abd481e6b65c"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMy0xLTEtNDI2MTk_c464642e-46b9-4abb-8022-d760aaa2a856"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjpkMmFlNDJlZjQ2ZTE0NmYxOGZmM2I5MzA2NTE0MjhmM18zMg_45d15fe5-0652-4233-9164-f1d8506ef301"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjpkMmFlNDJlZjQ2ZTE0NmYxOGZmM2I5MzA2NTE0MjhmM18zMg_cadccc2f-4563-4662-8174-c7b2ace0c50f"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjpkMmFlNDJlZjQ2ZTE0NmYxOGZmM2I5MzA2NTE0MjhmM18zNQ_a849a593-3809-4c25-a917-66ccad3ce93f"
      unitRef="shares">300000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjpkMmFlNDJlZjQ2ZTE0NmYxOGZmM2I5MzA2NTE0MjhmM18xNjQ5MjY3NDQxNjkwNA_ccb6df3e-1de2-4b89-a3fe-7f3cc11e1e53"
      unitRef="shares">31525154</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjpkMmFlNDJlZjQ2ZTE0NmYxOGZmM2I5MzA2NTE0MjhmM181Nw_0ca0f70c-255c-4dfb-a981-e660aea490a2"
      unitRef="shares">31530682</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjpkMmFlNDJlZjQ2ZTE0NmYxOGZmM2I5MzA2NTE0MjhmM181Nw_57c59844-eed4-4327-9617-a0342c2e298f"
      unitRef="shares">31530682</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjpkMmFlNDJlZjQ2ZTE0NmYxOGZmM2I5MzA2NTE0MjhmM182NA_9bed856f-b13a-427c-8423-17cea6bb6407"
      unitRef="shares">18486989</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMC0xLTEtMjUxMzIvdGV4dHJlZ2lvbjpkMmFlNDJlZjQ2ZTE0NmYxOGZmM2I5MzA2NTE0MjhmM182NA_c3cc68c4-9ab9-4a59-924c-04c79da9ebe4"
      unitRef="shares">18486989</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMS0xLTEtMjUxMzI_4d6de3c4-12c4-4c44-982f-82c7200fad91"
      unitRef="usd">31000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzMtMy0xLTEtMjUxMzI_aa69805e-c02b-4073-8d97-2c71ae3dd77f"
      unitRef="usd">18000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzQtMS0xLTEtMjUxMzI_29ec0839-be19-426b-9e28-6cddaf120e97"
      unitRef="usd">91945000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzQtMy0xLTEtMjUxMzI_f21ff209-9a5c-46d0-b1bc-1a0ce8174e32"
      unitRef="usd">3612000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzUtMS0xLTEtMjUxMzI_7c0a9931-3716-49de-9472-aedf9dbf87f6"
      unitRef="usd">-81000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzUtMy0xLTEtMjUxMzI_9dd55d9f-49ff-4ff4-a81f-ec67f9e4b9b3"
      unitRef="usd">-31000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzYtMS0xLTEtMjUxMzI_4b3086a4-03b3-4b0f-8846-082c46e95834"
      unitRef="usd">-38991000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzYtMy0xLTEtMjUxMzI_f780023a-072f-4a3c-95db-edb883864678"
      unitRef="usd">-15607000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzctMS0xLTEtMjUxMzI_f21e3fdb-b968-4cf7-9502-92390753711b"
      unitRef="usd">52904000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzctMy0xLTEtMjUxMzI_2930a62d-b2c8-43cc-9391-9808d2a9a6ca"
      unitRef="usd">-12008000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzgtMS0xLTEtMjUxMzI_9cf697a1-20e0-4419-a599-9cb90e3415cb"
      unitRef="usd">120443000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85NC9mcmFnOmQyMTExOTJmMmU0ZjQ3YWJhOTYzYjkxODUwMTE4YzUwL3RhYmxlOjdiMDBkYzU0ZDYwMTRjNDliZWFhODA1OGZkNDg2YWZjL3RhYmxlcmFuZ2U6N2IwMGRjNTRkNjAxNGM0OWJlYWE4MDU4ZmQ0ODZhZmNfMzgtMy0xLTEtMjUxMzI_19339f89-ab2e-45d7-ba78-5f9c09f2df90"
      unitRef="usd">42736000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1224159aa4164ca19f4183b3c6f7c975_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMy0xLTEtMS0zMDAxOA_add2abf6-e569-4574-bf8b-b4712ffe4571"
      unitRef="usd">34731000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifd1b566a798341148e8d17bc54b3f8dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMy0xLTEtMS0yNTEzMg_054d3f29-b2f7-400e-8ffd-dd3a161a315a"
      unitRef="usd">27408000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iab1d0d2511e64373af9cfa0d6f8b4049_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfNC0xLTEtMS0zMDAxOA_0ce6b47a-d2e1-489c-b4f6-4addf6a84fca"
      unitRef="usd">3133000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i81c1b88187ac4bcbb58b4cfd48317474_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfNC0xLTEtMS0yNTEzMg_e136a30d-0be1-410a-afca-2808cdce8964"
      unitRef="usd">4404000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfNS0xLTEtMS0zMDAxOA_dbb863d6-ed25-46f7-b85d-d6a5c77cc309"
      unitRef="usd">37864000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfNS0xLTEtMS0yNTEzMg_006013f1-b91a-4c04-8223-cbd3006d429c"
      unitRef="usd">31812000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfNi0xLTEtMS0zMDAxOA_52cfa99e-3fda-4edc-8092-1bc517e681cd"
      unitRef="usd">3731000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfNi0xLTEtMS0yNTEzMg_df9348be-9d27-456e-924f-8ed0e8b80dbd"
      unitRef="usd">1491000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfNy0xLTEtMS0zMDAxOA_a1ac49f5-fcee-45f9-8e24-a99e0f3a8d3f"
      unitRef="usd">34133000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfNy0xLTEtMS0yNTEzMg_f278a15f-bd89-4a25-8ec0-a5c829a456a5"
      unitRef="usd">30321000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfOS0xLTEtMS0zMDAxOA_36205325-b7c8-45f5-ab50-ef0980f33113"
      unitRef="usd">30812000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfOS0xLTEtMS0yNTEzMg_76d30fcc-f3d3-4559-a4f2-abad4489531d"
      unitRef="usd">17020000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTAtMS0xLTEtMzAwMTg_67fadda9-cc82-4366-9721-305f5aae6ba7"
      unitRef="usd">11726000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTAtMS0xLTEtMjUxMzI_4a78b955-91ae-4689-881a-b33cc3face77"
      unitRef="usd">9749000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTEtMS0xLTEtMzAwMTg_cccb4577-20fc-4ad9-8a0e-334c71bad3be"
      unitRef="usd">13360000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTEtMS0xLTEtMjUxMzI_8845b0e6-c80c-4eb7-83f1-fcdbe61d135c"
      unitRef="usd">7329000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTItMS0xLTEtMzAwMTg_b79bb03a-5908-4178-96c9-a7f15993c6ad"
      unitRef="usd">55898000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTItMS0xLTEtMjUxMzI_3e2e0d05-0c20-40f2-8602-dc3bdb39bd92"
      unitRef="usd">34098000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTMtMS0xLTEtMzAwMTg_3e389100-35be-4d4d-99b2-4d0bec0d6880"
      unitRef="usd">-21765000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTMtMS0xLTEtMjUxMzI_547181d8-fac5-4cfc-b509-2c1f9b8407c5"
      unitRef="usd">-3777000</us-gaap:OperatingIncomeLoss>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTQtMS0xLTEtMzAwMTg_4f7f2651-b5b3-4ae0-9c0f-4a113070f2bd"
      unitRef="usd">10000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTQtMS0xLTEtMjUxMzI_f39a8a73-7a3a-4293-b2bf-b9a400334efb"
      unitRef="usd">1593000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTUtMS0xLTEtMzAwMTg_4b819f54-e3e5-4a05-9fbd-2f9a04034ac2"
      unitRef="usd">-589000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTUtMS0xLTEtMjUxMzI_4711d6b7-4900-4148-8033-9d868892b6a9"
      unitRef="usd">-50000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTYtMS0xLTEtMzAwMTg_cd52b6be-af07-4078-aace-a581fd3afa32"
      unitRef="usd">-22344000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTYtMS0xLTEtMjUxMzI_0e6b1f93-b576-4203-bd2f-841df3883af5"
      unitRef="usd">-2234000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTctMS0xLTEtMzAwMTg_2e8ccd72-4caf-49de-a136-b76ff8e8d907"
      unitRef="usd">1040000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTctMS0xLTEtMjUxMzI_b073f72f-2e7e-4db7-a750-09184594687d"
      unitRef="usd">1026000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTgtMS0xLTEtMzAwMTg_cdd6f88d-b22f-4a9a-981c-9cebc0874dfd"
      unitRef="usd">-23384000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMTgtMS0xLTEtMjUxMzI_59b8494a-8afe-402b-9f50-df6f3b0af888"
      unitRef="usd">-3260000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMjItMS0xLTEtMzAwMTg_4e5b3f6d-bf58-4da1-9089-61e9fdb2df2f"
      unitRef="usdPerShare">-1.06</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMjItMS0xLTEtMzAwMTg_8b72d78f-0453-4449-9a55-7ff75c3f812c"
      unitRef="usdPerShare">-1.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMjItMS0xLTEtMjUxMzI_0bfc88e8-e854-4e0b-9ec1-ba1c162ca625"
      unitRef="usdPerShare">-0.19</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMjItMS0xLTEtMjUxMzI_51c0bee3-77b0-4b36-bee0-b5826f1f54d9"
      unitRef="usdPerShare">-0.19</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMjUtMS0xLTEtMzAwMTg_167d8bf3-737e-4392-99eb-701765b2dc5d"
      unitRef="shares">21972101</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMjUtMS0xLTEtMzAwMTg_f590f8b7-a222-4f15-b7db-7ca8d8bd3b33"
      unitRef="shares">21972101</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMjUtMS0xLTEtMjUxMzI_90ee682d-7dc1-4ed3-a7c0-e2f4ea9e5fa6"
      unitRef="shares">17577846</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl85Ny9mcmFnOjhhOTU1Mzg4YmNiODQ1MWNhZThmZGYyMWU5ZmFlZGU3L3RhYmxlOmQ3ZDIwZjFkOGJmMjQ5MGJhMTEzN2Q1NTM2NzRiNTIzL3RhYmxlcmFuZ2U6ZDdkMjBmMWQ4YmYyNDkwYmExMTM3ZDU1MzY3NGI1MjNfMjUtMS0xLTEtMjUxMzI_aedcf750-f018-465e-ae87-3067ebdc47ad"
      unitRef="shares">17577846</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:NetIncomeLoss
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDAvZnJhZzpiYmNlOWFkNDZjYTc0N2UxOTlmYjM1NTNhNTdhZWJmYy90YWJsZTowYWI2YTYxNTM4MWM0OTQ4OTgwYjhlNDlmYjMwM2E3Mi90YWJsZXJhbmdlOjBhYjZhNjE1MzgxYzQ5NDg5ODBiOGU0OWZiMzAzYTcyXzItMS0xLTEtMjUxMzI_88fddf94-5952-4184-964e-d1b3dea321d7"
      unitRef="usd">-23384000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDAvZnJhZzpiYmNlOWFkNDZjYTc0N2UxOTlmYjM1NTNhNTdhZWJmYy90YWJsZTowYWI2YTYxNTM4MWM0OTQ4OTgwYjhlNDlmYjMwM2E3Mi90YWJsZXJhbmdlOjBhYjZhNjE1MzgxYzQ5NDg5ODBiOGU0OWZiMzAzYTcyXzItMy0xLTEtMjUxMzI_897c28a0-9e7b-420d-9b25-a8fb738e63d7"
      unitRef="usd">-3260000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDAvZnJhZzpiYmNlOWFkNDZjYTc0N2UxOTlmYjM1NTNhNTdhZWJmYy90YWJsZTowYWI2YTYxNTM4MWM0OTQ4OTgwYjhlNDlmYjMwM2E3Mi90YWJsZXJhbmdlOjBhYjZhNjE1MzgxYzQ5NDg5ODBiOGU0OWZiMzAzYTcyXzQtMS0xLTEtMjUxMzI_5da8f4b0-d552-417b-b9a0-f1488c7fdd99"
      unitRef="usd">-50000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDAvZnJhZzpiYmNlOWFkNDZjYTc0N2UxOTlmYjM1NTNhNTdhZWJmYy90YWJsZTowYWI2YTYxNTM4MWM0OTQ4OTgwYjhlNDlmYjMwM2E3Mi90YWJsZXJhbmdlOjBhYjZhNjE1MzgxYzQ5NDg5ODBiOGU0OWZiMzAzYTcyXzQtMy0xLTEtMjUxMzI_7693d2a5-3682-4a93-910f-a2cf88be2be6"
      unitRef="usd">-13000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDAvZnJhZzpiYmNlOWFkNDZjYTc0N2UxOTlmYjM1NTNhNTdhZWJmYy90YWJsZTowYWI2YTYxNTM4MWM0OTQ4OTgwYjhlNDlmYjMwM2E3Mi90YWJsZXJhbmdlOjBhYjZhNjE1MzgxYzQ5NDg5ODBiOGU0OWZiMzAzYTcyXzUtMS0xLTEtMjUxMzI_337cfe06-ecc4-4dee-811f-59db94c19d02"
      unitRef="usd">-23434000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDAvZnJhZzpiYmNlOWFkNDZjYTc0N2UxOTlmYjM1NTNhNTdhZWJmYy90YWJsZTowYWI2YTYxNTM4MWM0OTQ4OTgwYjhlNDlmYjMwM2E3Mi90YWJsZXJhbmdlOjBhYjZhNjE1MzgxYzQ5NDg5ODBiOGU0OWZiMzAzYTcyXzUtMy0xLTEtMjUxMzI_1f48c678-513d-4e37-870c-8761edbc936e"
      unitRef="usd">-3273000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="ie2db5cdde30f4eeb88b023bdc59ea51c_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzExLTEtMS0xLTI1MTMy_4cbceb19-53f0-436c-8fb3-ecb76005ac24"
      unitRef="shares">4471316</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="ie2db5cdde30f4eeb88b023bdc59ea51c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzExLTMtMS0xLTI1MTMy_29c358fd-1b45-4823-83a7-a115c2ca2ea9"
      unitRef="usd">5712000</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i1f5678c2e4ad46b1ae9880aa7400f859_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzExLTYtMS0xLTI1MTMy_d0785a2b-80c3-4287-a2ce-294cf8cad363"
      unitRef="shares">17349695</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i1f5678c2e4ad46b1ae9880aa7400f859_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzExLTgtMS0xLTI1MTMy_b75aa147-2167-4f6c-9d58-eaea9e4af4b7"
      unitRef="usd">17000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i08f0704f055e456bbdbf14be4d605ad4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzExLTEwLTEtMS0yNTEzMg_fe29d332-d064-4522-aa43-755e16307715"
      unitRef="usd">2918000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0e80ee15553b43cb985e8c87b7ae0f6f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzExLTEyLTEtMS0yNTEzMg_f016b013-656b-413b-b3f0-0ccfa5a5f8fb"
      unitRef="usd">-18000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6621d421fe554c4493313d96a093151b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzExLTE0LTEtMS0yNTEzMg_6433cfbd-590d-4d8e-961b-9aaa1fdce450"
      unitRef="usd">-12347000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie2db5cdde30f4eeb88b023bdc59ea51c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzExLTE2LTEtMS0yNTEzMg_5d02d9ed-2247-48fd-9900-b3b4976364b3"
      unitRef="usd">-9430000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ic088c059513a48f5a15ba72dc5c71bd5_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzEyLTYtMS0xLTI1MTMy_6a03b1f8-d6cc-4222-b97a-7231f8bc3f2d"
      unitRef="shares">1002039</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ic088c059513a48f5a15ba72dc5c71bd5_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzEyLTgtMS0xLTI1MTMy_77fda8c9-415f-48f9-94df-4f4bf9b74d9a"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i30df7a1b660245238d83de42a400f0e7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzEyLTEwLTEtMS0yNTEzMg_017cabfb-c380-46d7-b3ad-093ee9e8c303"
      unitRef="usd">236000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzEyLTE2LTEtMS0yNTEzMg_b7739922-139a-479d-b25d-b15a6b9e8388"
      unitRef="usd">237000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="ic088c059513a48f5a15ba72dc5c71bd5_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzEzLTYtMS0xLTI1MTMy_c8807952-5f23-4d43-9871-d68e68b8002e"
      unitRef="shares">135255</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i30df7a1b660245238d83de42a400f0e7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE0LTEwLTEtMS0yNTEzMg_7a43bcc1-2d6e-469d-9a88-2847074d0b11"
      unitRef="usd">458000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE0LTE2LTEtMS0yNTEzMg_ce27d306-a036-4bee-b3b5-9af07422fd40"
      unitRef="usd">458000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="idf510f1be1844b38a158a90ad71b6d99_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE1LTEyLTEtMS0yNTEzMg_1a742819-22da-4b45-99a3-e4ca1876a314"
      unitRef="usd">-13000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE1LTE2LTEtMS0yNTEzMg_7d7c30f4-03e2-4bd2-8da6-b1bef22439a2"
      unitRef="usd">-13000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="i80ff5cc3839747e180e866eee7d350f2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE2LTE0LTEtMS0yNTEzMg_895db552-c4d0-4f80-ab7f-6f434b7e733f"
      unitRef="usd">-3260000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE2LTE2LTEtMS0yNTEzMg_8f0b4a2e-cae3-421f-875b-e63cdbc5d9a9"
      unitRef="usd">-3260000</us-gaap:NetIncomeLoss>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTEtMS0xLTI1MTMy_3e8abab0-bee5-4080-9342-b442575e33a0"
      unitRef="shares">4471316</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTMtMS0xLTI1MTMy_bfc3ae09-88e7-423d-8778-c2014f193194"
      unitRef="usd">5712000</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i794e216cf4f64297a20477c77f7347ea_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTYtMS0xLTI1MTMy_8246b01d-4d74-4f6f-a497-851754ccf1a4"
      unitRef="shares">18486989</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i794e216cf4f64297a20477c77f7347ea_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTgtMS0xLTI1MTMy_f2523651-c598-47a8-97d6-2f47a5937888"
      unitRef="usd">18000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i97878287726042d7bd817dd17b70f453_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTEwLTEtMS0yNTEzMg_73e4e4c8-48e3-487e-b83c-a4f4cb81e46b"
      unitRef="usd">3612000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if926ae301046417d88e5ecd962da4c55_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTEyLTEtMS0yNTEzMg_533b8d33-0573-41c9-9519-6489ed620665"
      unitRef="usd">-31000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i73488cdc8be749969600207dcc13dc19_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTE0LTEtMS0yNTEzMg_60cfc9cd-134d-4bfe-8a6b-6c1c0a686d9f"
      unitRef="usd">-15607000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTE2LTEtMS0yNTEzMg_24ff33c0-6f0a-43c4-9e46-12692366d6a3"
      unitRef="usd">-12008000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i726f2180cf594ffa9da842bfe2c5f1d7_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTYtMS0xLTMwMzAw_866430de-1cec-4e52-9684-6be91a0ebd95"
      unitRef="shares">1250000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i726f2180cf594ffa9da842bfe2c5f1d7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTgtMS0xLTMwMzAw_011f699c-ac15-41ed-87d5-fd027947f9f5"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i64af4c68de444225890562bd390e31f0_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTEwLTEtMS0zMDMwMA_6c103a3f-91bb-4d31-bcc2-a16dcaf256f1"
      unitRef="usd">5435000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE3LTE2LTEtMS0zMDMwMA_278677f0-9184-4c6c-b664-19fc05651b08"
      unitRef="usd">5437000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <aip:TemporaryEquitySharesConversionOfConvertibleSecurities
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE4LTEtMS0xLTMwMzAw_c9d84eb8-60b3-42da-a27b-e1919b859ebf"
      unitRef="shares">4471316</aip:TemporaryEquitySharesConversionOfConvertibleSecurities>
    <aip:TemporaryEquityValueConversionOfConvertibleSecurities
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE4LTMtMS0xLTMwMzAw_d4b1b68f-6c78-4740-957a-0bac0c3a4b25"
      unitRef="usd">5712000</aip:TemporaryEquityValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i726f2180cf594ffa9da842bfe2c5f1d7_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE4LTYtMS0xLTMwMzAw_03a1b206-7260-429a-be0a-f51a7a3002a1"
      unitRef="shares">4471316</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="i726f2180cf594ffa9da842bfe2c5f1d7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE4LTgtMS0xLTMwMzAw_78688d18-56bd-42fc-b2d8-160b22602829"
      unitRef="usd">4000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="i64af4c68de444225890562bd390e31f0_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE4LTEwLTEtMS0zMDMwMA_d4771248-9dcf-4814-8a5f-bcc57844c5c4"
      unitRef="usd">5708000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE4LTE2LTEtMS0zMDMwMA_8fb0032b-32fb-4100-a96c-9f4604158292"
      unitRef="usd">5712000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i87341526890541c8b624bf9b56888652_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE5LTYtMS0xLTMwMzAw_544b54ad-33ba-4640-a680-09da4895f166"
      unitRef="shares">5750000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i87341526890541c8b624bf9b56888652_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE5LTgtMS0xLTMwMzAw_6c225950-e620-45be-aac8-3f523f46efd2"
      unitRef="usd">6000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i01febd74bb0e4840a483e0ac1d71abba_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE5LTEwLTEtMS0zMDMwMA_084e5d54-58e8-4448-8096-153ad90c38ba"
      unitRef="usd">71082000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="iec9faf78d07b4934af709cc3c61ece79_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzE5LTE2LTEtMS0zMDMwMA_da23ecac-7824-4660-acc3-b37e5ce73818"
      unitRef="usd">71088000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i726f2180cf594ffa9da842bfe2c5f1d7_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzIwLTYtMS0xLTMwMzAw_e235db14-dcf9-4732-8363-2a21b812b3bd"
      unitRef="shares">1362327</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i726f2180cf594ffa9da842bfe2c5f1d7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzIwLTgtMS0xLTMwMzAw_170d4160-4c2f-4e8f-927b-13b582ece2de"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i64af4c68de444225890562bd390e31f0_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzIwLTEwLTEtMS0zMDMwMA_08e6cfcf-352c-4abf-b526-8155c786f3a5"
      unitRef="usd">598000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzIwLTE2LTEtMS0zMDMwMA_4972c205-d606-4d34-809c-a3ec8f740c4a"
      unitRef="usd">599000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="i726f2180cf594ffa9da842bfe2c5f1d7_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzIxLTYtMS0xLTMwMzAw_33016612-70ca-4314-927e-988c8317c36c"
      unitRef="shares">210050</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i64af4c68de444225890562bd390e31f0_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzIyLTEwLTEtMS0zMDMwMA_7b05dfcb-3ad5-4ca9-9dc7-a5ecbbc98445"
      unitRef="usd">5510000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzIyLTE2LTEtMS0zMDMwMA_b5f8aeb4-0287-47da-99a4-03dd4ba707cc"
      unitRef="usd">5510000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="iccd1684fa8d04144bfb30a6e6d44216c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzIzLTEyLTEtMS00MzM2OA_4e768fd1-42b0-49bb-88af-3ac6ecb52d6d"
      unitRef="usd">-50000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzIzLTE2LTEtMS00NTY3Ng_10e42804-dcf0-498e-9ce6-7ef3b501515e"
      unitRef="usd">-50000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="i2e140e875ac44630a898363fae0c5988_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzIzLTE0LTEtMS0zMDMwMA_4501828e-bbe9-4481-9bf6-33fb43e55529"
      unitRef="usd">-23384000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzIzLTE2LTEtMS0zMDMwMA_55a5a5ea-f6aa-4eaf-ba5d-5c8055ae9074"
      unitRef="usd">-23384000</us-gaap:NetIncomeLoss>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzI0LTEtMS0xLTMwMzAw_66b31658-87e3-4b52-b592-b97f9bd94e7e"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzI0LTMtMS0xLTMwMzAw_e5e224c4-7c47-4d65-b4ad-8fef3c48159b"
      unitRef="usd">0</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ic3c29ff3f06f4e97acfe5202311f612f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzI0LTYtMS0xLTMwMzAw_60ed71b7-3639-4c73-99dc-35097db2b32b"
      unitRef="shares">31530682</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ic3c29ff3f06f4e97acfe5202311f612f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzI0LTgtMS0xLTMwMzAw_a4b016af-de9a-4a03-9a39-93932dcae5de"
      unitRef="usd">31000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8dd34cf728b24e62bf185dccc7a288c7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzI0LTEwLTEtMS0zMDMwMA_089fdd4d-3b52-469e-bdc4-0bfd9bb21d28"
      unitRef="usd">91945000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4f481f381aeb4e15912d1c3a47d7a69c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzI0LTEyLTEtMS0zMDMwMA_da65085e-2ae2-44ab-9e41-52c95e67ad73"
      unitRef="usd">-81000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4b51344f2bd04876b0e151e58f27d152_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzI0LTE0LTEtMS0zMDMwMA_2c7a9036-8e56-4d0e-ad6b-e78ccbef0aae"
      unitRef="usd">-38991000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDMvZnJhZzpkNmM2ZTQ0YWQ1ZDg0NWFlODdhMTNmNjk5ZTE1ODgxNy90YWJsZToxNjhmODQ1OTRiMDg0ZWU4OTc5YjhmMWY1ZjQ3Y2QxZS90YWJsZXJhbmdlOjE2OGY4NDU5NGIwODRlZTg5NzliOGYxZjVmNDdjZDFlXzI0LTE2LTEtMS0zMDMwMA_341b165d-9b2e-46ca-a024-8bda991e51c6"
      unitRef="usd">52904000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzMtMS0xLTEtMjUxMzI_7217a459-bacb-427e-9d5d-431136319d53"
      unitRef="usd">-23384000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzMtMy0xLTEtMjUxMzI_46d334ca-b103-44df-8b90-50f9ea986747"
      unitRef="usd">-3260000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzUtMS0xLTEtMjUxMzI_7c209c73-c4cc-4a82-8ba0-50e84d217458"
      unitRef="usd">1492000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzUtMy0xLTEtMjUxMzI_4e942ab7-8d61-4c5e-8433-4c2cf99fb848"
      unitRef="usd">935000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzYtMS0xLTEtMjUxMzI_4c58fd2f-ca63-4e56-9b4d-c4c639a78167"
      unitRef="usd">5510000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzYtMy0xLTEtMjUxMzI_ef568e3c-3a9b-4455-9a5e-ecd2f78548a4"
      unitRef="usd">458000</us-gaap:ShareBasedCompensation>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzctMS0xLTEtMjUxMzI_3049fffc-22e5-4d20-a38b-0e17ff90fc61"
      unitRef="usd">109000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzctMy0xLTEtMjUxMzI_e9cdd41d-fa37-404e-bcc6-b8bdd2d9ea1b"
      unitRef="usd">33000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <aip:OperatingLeaseRightOfUseAssetNonCashExpenseLeaseTermination
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzktMS0xLTEtMjUxMzI_9907f07c-c0d4-4357-8bb7-2a414f5f5e31"
      unitRef="usd">-12000</aip:OperatingLeaseRightOfUseAssetNonCashExpenseLeaseTermination>
    <aip:OperatingLeaseRightOfUseAssetNonCashExpenseLeaseTermination
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzktMy0xLTEtMjUxMzI_708a2f3f-9a4b-46a9-9287-6b29a2d1265e"
      unitRef="usd">532000</aip:OperatingLeaseRightOfUseAssetNonCashExpenseLeaseTermination>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzExLTEtMS0xLTI1MTMy_6c87aa5d-ccf4-43e7-ad5e-4ae117fa51a8"
      unitRef="usd">10000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzExLTMtMS0xLTI1MTMy_992714aa-8ebe-42b7-a59a-7d045ee36c20"
      unitRef="usd">1593000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzEyLTEtMS0xLTI1MTMy_c91ab2a8-47ef-48d3-b143-1cdcdc53d94c"
      unitRef="usd">-1000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzEyLTMtMS0xLTI1MTMy_870db5ba-73f2-4311-948c-7cbe0c6e731f"
      unitRef="usd">-1000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE0LTEtMS0xLTI1MTMy_f2a99b02-3ca8-4c3a-926b-7618f6bada3d"
      unitRef="usd">-477000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE0LTMtMS0xLTI1MTMy_8587d938-5784-4cb0-9ac3-93fcb9ef7417"
      unitRef="usd">6324000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE1LTEtMS0xLTI1MTMy_28c16d79-b141-4a86-8cb5-5ced1456877c"
      unitRef="usd">4418000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE1LTMtMS0xLTI1MTMy_fbe95cef-79bb-4370-ac48-0098705593d5"
      unitRef="usd">2608000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE2LTEtMS0xLTI1MTMy_28882902-07ce-4e01-ac9e-ce01a8a5df1c"
      unitRef="usd">350000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE2LTMtMS0xLTI1MTMy_921358dc-ce9d-46d2-8048-a0636e78fff6"
      unitRef="usd">414000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE3LTEtMS0xLTI1MTMy_7480d9bb-0e80-4a7c-ba84-601e2f32884f"
      unitRef="usd">2836000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE3LTMtMS0xLTI1MTMy_24cc2a28-9cef-4ba0-b4b7-488f11ea88ed"
      unitRef="usd">3016000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE4LTEtMS0xLTI1MTMy_7847f2c5-07d2-41a3-8c8a-9637ec449e8f"
      unitRef="usd">-33000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE4LTMtMS0xLTI1MTMy_3576a0d7-bb68-4d3b-af7b-d933fb010217"
      unitRef="usd">-527000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE5LTEtMS0xLTI1MTMy_a8b69576-8783-44fb-bcf5-a4ba4d952d9e"
      unitRef="usd">16268000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzE5LTMtMS0xLTI1MTMy_43991bb4-a9b1-4e3a-a2f7-85545c6d9fc5"
      unitRef="usd">11086000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzIwLTEtMS0xLTI1MTMy_6b83dbe8-cf34-4f15-8fa9-620d27664f49"
      unitRef="usd">-814000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzIwLTMtMS0xLTI1MTMy_4fce1bf8-0a07-407b-a37f-7652d2c0dd5f"
      unitRef="usd">2163000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzIyLTEtMS0xLTI1MTMy_18687d06-c1cd-45bc-b578-3b5c20470d6f"
      unitRef="usd">808000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzIyLTMtMS0xLTI1MTMy_33df5da1-9a41-4db6-befb-fa9d240d83a1"
      unitRef="usd">654000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzIzLTEtMS0xLTI1MTMy_904db290-e717-402a-b5f3-c5cfab40cfbd"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzIzLTMtMS0xLTI1MTMy_a74a9c4f-821a-4b2d-99b0-8b0af0fbcc72"
      unitRef="usd">4500000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentForContingentConsiderationLiabilityInvestingActivities
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzIyLTEtMS0xLTUxODIz_383548ec-7aa1-48fa-be6f-6f78c2909f30"
      unitRef="usd">500000</us-gaap:PaymentForContingentConsiderationLiabilityInvestingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityInvestingActivities
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzIyLTMtMS0xLTUxODIz_59968d78-8ef0-48b5-8d32-d0a4cb56ba69"
      unitRef="usd">0</us-gaap:PaymentForContingentConsiderationLiabilityInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI1LTEtMS0xLTQ3Mjc3_c47ede5e-6a5c-4a55-ac62-3d7e66683ba5"
      unitRef="usd">51000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI1LTMtMS0xLTQ3Mjc3_794dfae4-424d-48ab-9a3c-b242292da633"
      unitRef="usd">-7000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI1LTEtMS0xLTI1MTMy_4f33dc04-9c16-4706-a309-2a30f814eb66"
      unitRef="usd">-1359000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI1LTMtMS0xLTI1MTMy_cdbd1a44-ee82-41a2-9bd3-736d7f6e1343"
      unitRef="usd">-5147000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI3LTEtMS0xLTM2MTAy_da61d061-f420-4f9d-b7e6-d41308b56e8e"
      unitRef="usd">71344000</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI3LTMtMS0xLTM2MTAy_91f080e8-2f90-4e42-842a-f5e8baeb8dec"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI3LTEtMS0xLTM1OTk2_e4e42b95-1ea0-4fbd-b7db-2f3abae12378"
      unitRef="usd">5435000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI3LTMtMS0xLTM1OTk2_d0b94659-b0db-4e21-b0e2-d8fcf45c25ea"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <aip:ProceedsFromPaycheckProtectionProgramLoan
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI3LTEtMS0xLTI1MTMy_192df1df-a7c1-41a5-9140-0838ae30ccbd"
      unitRef="usd">0</aip:ProceedsFromPaycheckProtectionProgramLoan>
    <aip:ProceedsFromPaycheckProtectionProgramLoan
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI3LTMtMS0xLTI1MTMy_4e2d148d-54e3-4ff6-b415-16438d6cf347"
      unitRef="usd">1603000</aip:ProceedsFromPaycheckProtectionProgramLoan>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI4LTEtMS0xLTI1MTMy_7d292135-7c1a-4803-b0c1-448003325c6d"
      unitRef="usd">550000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI4LTMtMS0xLTI1MTMy_20428366-d40c-4d47-ad4b-11c04e88fb03"
      unitRef="usd">600000</us-gaap:RepaymentsOfSecuredDebt>
    <aip:RepaymentsOfVendorFinancingArrangements
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI5LTEtMS0xLTI1MTMy_dd31d8fb-29f3-49dd-bad6-db1123e7f033"
      unitRef="usd">574000</aip:RepaymentsOfVendorFinancingArrangements>
    <aip:RepaymentsOfVendorFinancingArrangements
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzI5LTMtMS0xLTI1MTMy_8b3b0a57-fb15-4b1b-964e-cb757a957355"
      unitRef="usd">441000</aip:RepaymentsOfVendorFinancingArrangements>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzMwLTEtMS0xLTI1MTMy_0acad3dc-f4ce-48fb-83cc-637ac1abdfd4"
      unitRef="usd">599000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzMwLTMtMS0xLTI1MTMy_79438c3e-fc7b-4582-a73b-8613bad42fd4"
      unitRef="usd">236000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzMxLTEtMS0xLTI1MTMy_2fde11f0-e245-4cde-81a7-6b51bc6009dd"
      unitRef="usd">0</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzMxLTMtMS0xLTI1MTMy_0502d85e-e377-4959-9563-9847cbe6bc90"
      unitRef="usd">-8000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzMyLTEtMS0xLTI1MTMy_8ec75e0f-ac64-4369-82b4-467d8d640e81"
      unitRef="usd">76254000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzMyLTMtMS0xLTI1MTMy_e987f8d6-0bba-4f07-aab5-e59f9f01bdc5"
      unitRef="usd">790000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzMzLTEtMS0xLTI1MTMy_e841d8b9-0c81-4290-89e3-a2cf05d72c5d"
      unitRef="usd">74081000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzMzLTMtMS0xLTI1MTMy_d375563d-5a79-4029-8e5a-231bc868c4fb"
      unitRef="usd">-2194000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzM0LTEtMS0xLTI1MTMy_d6cca4ab-a748-48b2-9865-0982688f6fd1"
      unitRef="usd">11744000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie2db5cdde30f4eeb88b023bdc59ea51c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzM0LTMtMS0xLTI1MTMy_fe87fc06-b1f8-47a4-b0d7-53c53154f4ca"
      unitRef="usd">13938000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzM1LTEtMS0xLTI1MTMy_4f27182e-0048-4a4f-9627-49e1685e6dc1"
      unitRef="usd">85825000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzM1LTMtMS0xLTI1MTMy_ce2d2410-ae39-4c3a-a17e-c4b5530aba64"
      unitRef="usd">11744000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzM3LTEtMS0xLTI1MTMy_4dd30702-8b70-46a3-a322-54e6243f07db"
      unitRef="usd">19000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzM3LTMtMS0xLTI1MTMy_eb5e8508-851d-4688-8c6a-9d59bc3f4ab0"
      unitRef="usd">65000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzM4LTEtMS0xLTI1MTMy_08d8173d-3cad-479a-8def-e9b172268d2b"
      unitRef="usd">489000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzM4LTMtMS0xLTI1MTMy_bc56dde0-2325-4fe1-93ea-5e82ed667a27"
      unitRef="usd">1529000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQ0LTEtMS0xLTQxOTMy_7555472d-3326-4f6a-a92a-b3fb1bd8f04e"
      unitRef="usd">5712000</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQ0LTMtMS0xLTQ1Njky_1450376e-db93-4a54-929a-387666232661"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <aip:OfferingCostsIncurredButNotYetPaid
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQ1LTEtMS0xLTQxOTQy_1c5beab1-a302-42b9-bd10-e8228a9c6152"
      unitRef="usd">256000</aip:OfferingCostsIncurredButNotYetPaid>
    <aip:OfferingCostsIncurredButNotYetPaid
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQ1LTMtMS0xLTQ1Njky_79e186be-97dc-404b-b252-d27d58e20466"
      unitRef="usd">0</aip:OfferingCostsIncurredButNotYetPaid>
    <aip:LoanForgivenessCARESAct
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQzLTEtMS0xLTUwMzYw_18a1ebee-0e8f-4f9a-b95b-1920fd0991a6"
      unitRef="usd">10000</aip:LoanForgivenessCARESAct>
    <aip:LoanForgivenessCARESAct
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQzLTMtMS0xLTUwMzYw_d7c68ee4-03d4-4c6d-8005-01f19e18636e"
      unitRef="usd">1593000</aip:LoanForgivenessCARESAct>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQyLTEtMS0xLTI1MTMy_05b3b7e4-2181-4716-b5aa-681267b973c1"
      unitRef="usd">1099000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQyLTMtMS0xLTI1MTMy_14ab1410-100f-404f-908d-65aa5167c23a"
      unitRef="usd">1370000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQzLTEtMS0xLTI1MTMy_7ab7920d-82aa-4323-bce3-bd36b6521293"
      unitRef="usd">749000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQzLTMtMS0xLTI1MTMy_41fb595b-465f-4ebe-bbf8-741632384fd0"
      unitRef="usd">165000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <aip:BusinessAcquisitionContingentAndDeferredConsiderationLiability
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQ0LTEtMS0xLTI1MTMy_c18ba42e-6b2a-4b50-919d-843caea55d32"
      unitRef="usd">0</aip:BusinessAcquisitionContingentAndDeferredConsiderationLiability>
    <aip:BusinessAcquisitionContingentAndDeferredConsiderationLiability
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMDYvZnJhZzpiNTYxMTU4NTZhMzY0MjQ4YjZhMDk3N2EwMmRiN2NiYi90YWJsZTo4YWRjM2RjNjBjYWM0MGJiODE0NGY4OThhMTZiMThmYS90YWJsZXJhbmdlOjhhZGMzZGM2MGNhYzQwYmI4MTQ0Zjg5OGExNmIxOGZhXzQ0LTMtMS0xLTI1MTMy_455ef9a4-aa3a-4593-a006-3b3f4a111958"
      unitRef="usd">3342000</aip:BusinessAcquisitionContingentAndDeferredConsiderationLiability>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTIvZnJhZzozMDZiZDJiZTY0Njk0MmI2OGI5ZTgzYTUyZTFjYWMzMy90ZXh0cmVnaW9uOjMwNmJkMmJlNjQ2OTQyYjY4YjllODNhNTJlMWNhYzMzXzQ5NDc4MDIzMzAwNjU_9c056768-f2aa-40ca-9674-4beea5305422">DESCRIPTION OF BUSINESS&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Arteris, Inc. and its subsidiaries (collectively, the &#x201c;Company&#x201d; or &#x201c;Arteris&#x201d;) was incorporated in Delaware on April&#160;12, 2004. The Company develops, licenses, and supports the&#160;on-chip&#160;interconnect fabric technology used in&#160;System-on-Chip&#160;(SoC) designs for a variety of devices and in the development and distribution of&#160;Network-on-Chip&#160;(NoC) interconnect intellectual property (IP). The Company also provides software and services to enable efficient deployment of NoC IP, IP support&#160;&amp;amp; maintenance services, professional services and training and&#160;on-site&#160;support services. The Company is headquartered in Campbell, California and has offices in the United States, France, Japan, Korea and China.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;COVID-19&#160;Pandemic&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In March 2020, the World Health Organization declared the outbreak of&#160;COVID-19&#160;a pandemic which has resulted in substantial global economic disruption and uncertainty. In response to the&#160;COVID-19&#160;pandemic, the measures implemented by various authorities have caused us to change the Company&#x2019;s business practices, including those related to where employees work, the distance between employees in the Company&#x2019;s facilities, limitations on&#160;in-person&#160;meetings between employees and with customers, suppliers, service providers and stakeholders, as well as restrictions on business travel to domestic and international locations and to attend trade shows, technical conferences and other events.  The extent and continued impact of the COVID-19 pandemic on our business will depend on certain developments including the duration and spread of the outbreak and new variant strains of the virus; the availability and distribution of effective vaccines; the severity of the economic decline attributable to the pandemic and timing, nature and sustainability of economic recovery; and government responses, including vaccination or testing mandates, all of which are highly uncertain and unpredictable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company is unable to accurately predict the full impact that&#160;COVID-19&#160;will have on its future results of operations, financial condition, liquidity and cash flows due to numerous uncertainties, including the duration and severity of the pandemic and containment measures. The Company will continue to monitor health orders issued by applicable governments to ensure compliance with evolving domestic and global&#160;COVID-19&#160;guidelines.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Initial Public Offering&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In October, 2021, the Company completed its initial public offering (IPO), in which it issued and sold 5,750,000 shares of its common stock at the public offering price of $14.00 per share, including 750,000 shares of its common stock upon the full exercise of the underwriters&#x2019; option to purchase additional shares. The Company received net proceeds of $71.1&#160;million after deducting underwriting discounts and commissions and offering expenses. In connection with the IPO, all of the shares of the Company&#x2019;s outstanding redeemable convertible preferred stock prior to the IPO automatically converted into an aggregate of 4,471,316 shares of common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Deferred offering costs for the IPO were $3.8&#160;million and consisted primarily of direct incremental accounting, legal and other fees related to the IPO. Prior to the IPO, all deferred offering costs were capitalized and included in other assets, non-current on the consolidated balance sheets. Upon completion of the IPO, deferred offering costs were reclassified into stockholders&#x2019; equity (deficit) as a reduction of the IPO proceeds.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="ic2623421ed8c446ebae1fef3c15522b6_D20211001-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTIvZnJhZzozMDZiZDJiZTY0Njk0MmI2OGI5ZTgzYTUyZTFjYWMzMy90ZXh0cmVnaW9uOjMwNmJkMmJlNjQ2OTQyYjY4YjllODNhNTJlMWNhYzMzXzQ5NDc4MDIzMzAwMTI_25552f5f-7185-444b-82df-d78f898ccf63"
      unitRef="shares">5750000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="id05357d80541450ba7744ef7a8c98a5f_I20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTIvZnJhZzozMDZiZDJiZTY0Njk0MmI2OGI5ZTgzYTUyZTFjYWMzMy90ZXh0cmVnaW9uOjMwNmJkMmJlNjQ2OTQyYjY4YjllODNhNTJlMWNhYzMzXzQ5NDc4MDIzMzAwMjM_a7660eb0-4c96-4b49-90a9-cd0401ad3a34"
      unitRef="usdPerShare">14.00</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i5540050c13ff481ab50a789c6ff0060d_D20211001-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTIvZnJhZzozMDZiZDJiZTY0Njk0MmI2OGI5ZTgzYTUyZTFjYWMzMy90ZXh0cmVnaW9uOjMwNmJkMmJlNjQ2OTQyYjY4YjllODNhNTJlMWNhYzMzXzQ5NDc4MDIzMzAwMzE_64a56e01-8cea-4d62-bd30-3b22b68c2653"
      unitRef="shares">750000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockConsiderationReceivedOnTransaction
      contextRef="ic2623421ed8c446ebae1fef3c15522b6_D20211001-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTIvZnJhZzozMDZiZDJiZTY0Njk0MmI2OGI5ZTgzYTUyZTFjYWMzMy90ZXh0cmVnaW9uOjMwNmJkMmJlNjQ2OTQyYjY4YjllODNhNTJlMWNhYzMzXzQ5NDc4MDIzMzAwNDA_fb5932c4-118f-4914-8872-6a1bfcf49f5d"
      unitRef="usd">71100000</us-gaap:SaleOfStockConsiderationReceivedOnTransaction>
    <us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion
      contextRef="id05357d80541450ba7744ef7a8c98a5f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTIvZnJhZzozMDZiZDJiZTY0Njk0MmI2OGI5ZTgzYTUyZTFjYWMzMy90ZXh0cmVnaW9uOjMwNmJkMmJlNjQ2OTQyYjY4YjllODNhNTJlMWNhYzMzXzQ5NDc4MDIzMzAwNTU_bfa3db28-7457-4c5f-a5c1-a53c90d630d4"
      unitRef="shares">4471316</us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion>
    <us-gaap:DeferredOfferingCosts
      contextRef="id05357d80541450ba7744ef7a8c98a5f_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTIvZnJhZzozMDZiZDJiZTY0Njk0MmI2OGI5ZTgzYTUyZTFjYWMzMy90ZXh0cmVnaW9uOjMwNmJkMmJlNjQ2OTQyYjY4YjllODNhNTJlMWNhYzMzXzE2NDkyNjc0NDIyODQ3_ab6061b5-ccac-44d6-bd95-9091d3a15241"
      unitRef="usd">3800000</us-gaap:DeferredOfferingCosts>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MDc_5204f770-2b67-4c71-a20b-ca90aa265087">BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The accompanying consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (GAAP). &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Principles of Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The consolidated financial statements include the accounts of Arteris, Inc. and its wholly-owned subsidiaries. All intercompany transactions and accounts have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment Information&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company operates as a single operating segment. The chief operating decision maker is the Company&#x2019;s Chief Executive Officer, who makes resource allocation decisions and assesses performance based on financial information presented on a consolidated basis, accompanied by disaggregated revenue information. Accordingly, the Company has determined that it has a single reportable segment and operating segment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The preparation of the consolidated financial statements in conformity with GAAP requires management to make estimates, judgments and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Such estimates relate to, among others, revenue recognition, the useful lives of assets, assessment of recoverability of property, plant and equipment, fair values of goodwill and other intangible assets, including impairments, leases, allowances for doubtful accounts, deferred tax assets and related valuation allowance, stock-based compensation, potential reserves relating to litigation and tax matters, collectability of tax receivable, as well as other accruals or reserves. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Foreign Currency&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company and its foreign subsidiaries&#x2019; functional currency is the US dollar. Accordingly, monetary assets and liabilities of foreign subsidiaries are remeasured into US dollars at the exchange rates in effect at the balance sheet date,&#160;non-monetary&#160;assets and liabilities are recorded at historical rates, and revenue and expenses are remeasured at average rates during the period. Remeasurement adjustments are recognized as a component of interest and other income (expense), net within the consolidated statements of loss.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Comprehensive Loss&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Comprehensive loss generally represents all changes in stockholders&#x2019; deficit during the period except those resulting from investments by, or distributions to, stockholders. For the years ended December&#160;31, 2021 and 2020, the components of comprehensive loss consist of net loss and unrealized pension actuarial loss.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Loss per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Basic net loss per share is computed by dividing net loss available to common stockholders by the weighted-average number of shares of common stock outstanding during the period. Diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock during the period, plus the dilutive effects of stock options, restricted stock units (RSU) and restricted stock awards (RSA). Dilutive shares of common stock are determined by applying the treasury stock method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company considers all highly liquid investments with an original maturity of three months or less when purchased to be cash and cash equivalents. Cash and cash equivalents are recorded at cost, which approximates their fair value. As of December&#160;31, 2021 and 2020, cash and cash equivalents consist primarily of checking and savings deposits. There were no cash equivalents as of December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable and Allowance for Doubtful Accounts&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accounts receivable, net consist of primarily billed and unbilled trade accounts receivable. Unbilled accounts receivable represents amounts recorded as royalty revenue which will be invoiced within a short period upon receipt of the royalty reports from the licensees. The Company records accounts receivable when it has an unconditional right to consideration. Trade accounts receivable are recorded at the invoiced amount. The Company maintains allowances for doubtful accounts to reduce its receivables to their estimated net realizable value. In general, the Company does not offer extended credit terms and also do not require any security or collateral to support its receivables. The Company performs ongoing credit evaluations of its customers and establishes allowances for potential credit losses by considering factors such as historical experience, credit quality, age of the accounts receivable balances, and current economic conditions that may affect a customer&#x2019;s ability to pay. The Company&#x2019;s allowance for doubtful accounts activity has historically not been significant. Probable losses are recorded in general and administrative expense in the consolidated statements of income (loss).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Account balances are written off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentrations of Credit Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Financial instruments that potentially subject us to concentration of credit risk consist of cash and accounts receivable. The Company maintains cash in checking and savings deposits. Management believes no significant concentration risk exists with respect to cash as in management&#x2019;s judgment the banks that hold the Company&#x2019;s cash are financially stable. The Company deposits cash with high-credit-quality financial institutions which, at times, may exceed federally insured amounts.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s accounts receivable are derived principally from revenue earned from customers located in Americas and Asia Pacific regions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accounts receivable from the Company&#x2019;s major customers representing 10% or more of total accounts receivable was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of December 31,&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer A&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;12&#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:'Arial',sans-serif;font-size:9.5pt;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="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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer B&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer C&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;31&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;*&#160;&#160;&#160;&#160;Customer accounted for less than 10% of total accounts receivable at period end.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Revenue from the Company&#x2019;s major customers representing 10% or more of total revenue was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer C&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;23&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;15&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer D&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;*&#160;&#160;&#160;&#160;Customer accounted for less than 10% of total revenue in the period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost, less accumulated depreciation. Depreciation is recorded using the straight-line method over the estimated useful lives, generally ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5Mzk_d03252e9-388c-49ef-bc1f-21a577f34b9d"&gt;one&lt;/span&gt; to seven years. Leasehold improvements are amortized over the shorter of the estimated useful life of the asset or the remaining lease term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Depreciation expenses are recorded in cost of revenue and operating expenses in the consolidated statements of loss. Upon retirement or sale, the cost of assets disposed of and the related accumulated depreciation are removed from the accounts and any resulting gain or loss is recorded as a component of operating expenses. Repairs and maintenance costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company evaluates the recoverability of property and equipment for possible impairment whenever events or circumstances indicate that the carrying amount of such assets may not be recoverable. The evaluation is performed at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. Recoverability of these assets is measured by comparing their carrying amounts to the future undiscounted cash flows the assets are expected to generate. If such review indicates that the carrying amount is not recoverable, the carrying amount of such assets is reduced to fair value. No impairment was recognized during the years ended December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company allocates the purchase price to the tangible assets acquired, liabilities assumed, and intangible assets acquired based on their estimated fair values. The excess of the purchase price over the fair value of these identifiable assets and liabilities is recorded as goodwill. Such valuations require management to make significant estimates and assumptions, especially with respect to intangible assets. These estimates are based on information obtained from management of the acquired companies, the Company&#x2019;s assessment of this information, and historical experience. Significant estimates in valuing certain intangible assets include, but are not limited to, future expected cash flows from acquired customers, acquired technology, and trade names from a market participant perspective, useful lives, and discount rates. Management&#x2019;s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and unpredictable and, as a result, actual results may differ from estimates. In addition, unanticipated events and circumstances may occur that may affect the accuracy or validity of such estimates, and if such events occur, the Company may be required to adjust the value allocated to acquired assets or assumed liabilities. During the measurement period, which may be up to one year from the acquisition date, the Company may record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#x2019;s consolidated statements of income (loss). Acquisition costs, such as legal and consulting fees, are expensed as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill and Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company performs its goodwill and other indefinite-lived intangible assets impairment tests annually or more frequently if events or changes in circumstances occur that would more likely than not reduce the fair value below its carrying value. For the years ended December&#160;31, 2021 and 2020, the Company did not have any goodwill or other indefinite-lived intangible assets impairment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Acquired finite-lived intangible assets are amortized on a straight-line basis over the estimated useful lives of the assets, which range from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5NDE_809068d8-e8d0-4098-8762-01725b23b199"&gt;five&lt;/span&gt; to eight years, unless the lives are determined to be indefinite. The Company routinely reviews the remaining estimated useful lives of finite-lived intangible assets. Amortization expenses are recorded in operating expenses on the consolidated statements of income (loss).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Debt Issuance Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Costs incurred in connection with the issuance of long-term debt have been recorded as a direct reduction against the debt and are amortized over the life of the associated debt as a component of interest and other income (expense), net using the effective interest method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Right-of-use&#160;Assets (ROU) and Lease Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company recognizes leases in accordance with Accounting Standard Codification (ASC) Topic 842, Leases, and subsequently issued additional related Accounting Standard Updates (ASU) (Topic 842).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company leases its offices at various locations under noncancelable operating lease agreements expiring at various dates through 2027. Under the terms of these agreements, the Company also bears the costs for certain insurance, property tax, and maintenance. The terms of certain lease agreements provide for increasing rental payments at fixed intervals.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;At lease commencement, the Company measures and records a lease liability equal to the present value of the remaining lease payments, generally discounted using incremental borrowing rate as the implicit rate is not readily determinable on many of its leases. When determining the incremental borrowing rates, the Company considers information including, but not limited to, the lease term, the interest rates on its collateralized debt and incremental borrowing rates for its peer group.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;On the lease commencement date, the amount of the ROU assets consists of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;The amount of the initial measurement of the lease liability;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;Any lease payments made at or before the commencement date, minus any lease incentives received; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;Any initial direct costs incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company assesses the option for lease extensions, renewals, or terminations on individual leases, and generally considers the base term to be the term of lease contracts, unless it is reasonably certain that the Company will exercise such options. Lease agreements may contain other variable costs such as common area maintenance, insurance, real estate taxes or other costs. Variable lease costs are expensed as incurred in the consolidated statements of income (loss). The Company does not include&#160;non-lease&#160;components with lease payments for the purpose of calculating lease&#160;right-of-use&#160;assets and lease liabilities. The lease agreements generally do not contain any residual guarantees or restrictive covenants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Operating leases are included in operating lease ROU assets, operating lease liabilities, current and operating lease liabilities, noncurrent in the consolidated balance sheets. Finance leases are included in property and equipment, accrued expenses and other current liabilities and other liabilities in the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company recognizes revenue in accordance with ASC Topic&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;&#160;606,&#160;Revenue from Contracts with Customers,&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;and subsequently issued additional related&#160;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;ASUs&#160;(Topic&#160;606).&#160;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company recognizes revenues as it transfers control of deliverables (software and services) to its customers in an amount reflecting the consideration to which it expects to be entitled. To recognize revenues, the Company applies the following five step approach: (1)&#160;identify the contract with a customer, (2)&#160;identify the performance obligations in the contract, (3)&#160;determine the transaction price, (4)&#160;allocate the transaction price to the performance obligations in the contract, and (5)&#160;recognize revenues when a performance obligation is satisfied. The Company accounts for a contract when it has approval and commitment from all parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance and collectability of consideration is probable. The Company applies judgment in determining the customer&#x2019;s ability and intention to pay based on a variety of factors including the customer&#x2019;s historical payment experience.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Nature of Products and Services &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s revenue is primarily derived from licensing intellectual property, licensing software, support and maintenance services, professional services, training services, and royalties.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Design Solutions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Interconnect Solutions product arrangements provide customers the right to software licenses, services, software updates and technical support. The Company enters into licensing arrangements with customers that typically range from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzg3OTYwOTMxMTAyMDc_35392e9c-3176-485f-a13f-3ad49c319045"&gt;two&lt;/span&gt; to three years and generally consist of delivery of a design license that grants the customer the right to use the IP to design a contractually defined number of products and stand-ready support services that provide the customer a significant benefit from its proprietary software tool (RTL) as well as ongoing access to Corporate Application Engineers (CAE) and Field Application Engineers (FAE) (collectively, &#x201c;application engineer support services&#x201d;) to perform certain verifications including benchmark performance, simulations and ultimately, through the RTL, instantiate designs into silicon over the design term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The support services, including access to application engineering support services and the benefits of the RTL, are integral and fundamental to the customer&#x2019;s ability to derive its intended benefit from the IP. CAEs are part of the product development team providing detailed requirements for engineering projects, working very closely with a customer&#x2019;s chief technology officer and the marketing department, and performing quality assurance testing of customer products prior to shipment to their customers. FAEs provide assistance to the customer&#x2019;s engineering team in translating their desired SoC architecture into inputs for NoC IP configuration, assistance in optimizing the NoC configuration, answer to customer questions by the online support system or phone, constructive reviews of the progress achieved by the customer&#x2019;s development team and provision of advice on how to best use the licensed IP, performance of design reviews before customer project RTL freeze and&#160;tape-out&#160;to ensure the customer used the licensed IP configuration tooling as intended so that the RTL output meets customer requirements and expectations. FAE reviews of the customer&#x2019;s design are mandatory and consist of an understanding of the customer requirements and analysis of the adequacy of the contemplated IP considering the customer&#x2019;s desired architecture and design goals and objectives, taking into consideration bandwidth,&#160;coherence/non-coherence,&#160;latency, clock and timing, areas, and any and all constraints, as identified and specific to the design under review.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Besides application engineer support services, support and maintenance services also consist of a stand-ready obligation to provide technical support and software updates over the support term. Generally, the first-year of technical support and software updates are bundled with and into the license fee with a customer option to renew additional years of support throughout the license term. However, the Company continues to provide technical support and software updates throughout the license term even if the customer does not renew these services in subsequent years, making the license term and support and maintenance term&#160;co-terminus.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Considering the nature of the combined design tool and assisting the Company&#x2019;s customers in applying its IP technology in its customers&#x2019; development environment and the relative significance thereof, the Company has concluded that its Interconnect Solutions IP licensing arrangements are not distinct from its obligation to provide the application engineering support services and benefits of the RTL. The Interconnect Solutions IP, RTL, and the application engineering support services serve to fulfill its commitment to the customer, as they represent inputs to a single, combined performance obligation that commences upon the later of the arrangement effective date or transfer of the software license. The design license and the regular&#160;two-way&#160;interaction between the design tool, RTL, and the application engineering support services give the customer the intended benefit from the arrangement, which is the ability to commercialize their design. Customers cannot benefit from the design license on its own or together with other readily available resources as no other RTL or application engineer support service provides exists in the marketplace that a customer could use with the design license. Consequently, the RTL and application engineer support service cannot be used on its own or together with any other design license as the Company does not allow the use of the RTL or provide application engineer support services separately from the design license. Further, although technical support and software updates is a distinct performance obligation, it is accounted for as if it were part of a single performance obligation that includes the licenses, RTL and application engineer support services because the technical support and updates are provided in practice for the same period of time and have the same time-based pattern of transfer to the customer as the combined design license, RTL, and application support services.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Revenues that are derived from the sale of a licensee&#x2019;s products that incorporate the Company&#x2019;s IP are classified as royalty revenues. Royalty revenues are recognized during the quarter in which the sale of the product incorporating the Company&#x2019;s IP occurs. Royalties are calculated either as a percentage of the revenues received by a licensee&#x2019;s sale of products incorporating the Company&#x2019;s IP or on a per unit basis, as specified in the agreements with the licensees. For a majority of the Company&#x2019;s royalty revenues, it receives the actual sales data from its customers after the quarter ends and accounts for it as unbilled receivables. When the Company does not receive actual sales data from the customer prior to the finalization of its financial statements, royalty revenues are recognized based on its estimation of the customer&#x2019;s sales during the quarter.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Deployment Solutions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Deployment Solutions product arrangements provide customers the right to software licenses, software updates and technical support. The software licenses are time-based licenses with terms generally ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzg3OTYwOTMxMTAyMzM_d901db38-cef7-4f16-a118-7a867f8b9792"&gt;one&lt;/span&gt; to three years. These arrangements generally have two distinct performance obligations that consist of transferring the licensed software and the support and maintenance service. Support and maintenance services consist of a stand-ready obligation to provide technical support and software updates over the support term. Revenue allocated to the software license is recognized at a point in time upon the later of the delivery date or the beginning of the license period, and revenue allocated to support services is recognized ratably over the support term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;A limited number of Deployment Solutions contracts include tokens, a mechanism used to both enable &#x201c;peak&#x201d; users to choose a combination of the software products on a monthly basis and restrict the number of users. The Company recognizes revenue related to these tokens at a point in time, upon delivery of monthly token license keys to the customer.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Professional Services&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s agreements often include service elements (other than maintenance and support services). These services include training, design assistance, and consulting. Services performed on a time and materials basis are recognized over the period the services are provided either using an output method such as labor hours, or a method that is otherwise consistent with the way in which value is delivered to the customer. Services performed on a fixed price basis are recognized over time, generally using costs incurred or hours expended to measure progress.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Multiple Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Most of the Company&#x2019;s contracts with customers contain multiple performance obligations. For these contracts, the Company accounts for individual performance obligations separately, if they are distinct. The transaction price is allocated to the separate performance obligations on a relative standalone selling price basis, which are estimated considering multiple factors including observable industry pricing practices and internal pricing strategies and objectives.. Standalone selling prices of software license are typically estimated using the residual approach. Standalone selling prices of professional services are typically estimated based on observable transactions when these services are sold on a standalone basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Transaction price&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Revenue is recognized when, or as, control of a promised product or service transfers to a client, in an amount that reflects the consideration to which the Company expects to be entitled in exchange for transferring those products or services. If the consideration promised in a contract includes a variable amount, the Company estimates the amount to which it expects to be entitled using either the expected value or most likely amount method, to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur. Generally, the transaction price of the Company&#x2019;s contracts is fixed at the inception of the contract, except for variable royalties. The Company&#x2019;s contracts generally do not include terms that could cause variability in the transaction price.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company assesses the timing of the transfer of goods or services to the customer as compared to the timing of payments to determine whether a significant financing component exists. As a practical expedient, the Company does not assess the existence of a significant financing component when the difference between payment and transfer of deliverables is a year or less. If the difference in timing arises for reasons other than the provision of finance to either the customer or the Company, no financing component is deemed to exist. When contracts involve a significant financing component, the Company adjusts the promised amount of consideration for the effects of the time value of money if the timing of payments agreed to by the parties to the contract (either explicitly or implicitly) provide the customer with a significant benefit of financing.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company reports revenue net of any revenue-based taxes assessed by governmental authorities that are imposed on and concurrent with specific revenue-producing transactions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In instances where foreign licensees withhold and remit taxes to local authorities in accordance with local laws and regulations, the Company recognizes and presents revenue on a gross basis, and includes the withholding tax in income tax expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Flexible Spending Accounts&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Some customers enter into a&#160;non-cancelable&#160;flexible spending account agreements (FSA Agreements) whereby the customer commits to a fixed dollar amount over a specified period of time that can be used to purchase from a list of the Company&#x2019;s products or services. These agreements do not meet the definition of a revenue contract until the customer executes a separate order to identify the required products and services that they are purchasing. The combination of the FSA agreement and the subsequent order creates enforceable rights and obligations, thus meeting the definition of a revenue contract. Each separate order under the agreement is treated as an individual contract and accounted for based on the respective performance obligations included within the FSA agreements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract modifications&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s contracts may be modified to add, remove or change existing performance obligations. The accounting for modifications to the Company&#x2019;s contracts involves assessing whether the products and services added to an existing contract are distinct and whether the pricing is at the standalone selling price. Products and services added that are not distinct are accounted for on a cumulative&#160;catch-up&#160;basis, while those that are distinct are accounted for prospectively, either as a separate contract if the additional services are priced at the standalone selling price, or as a termination of the existing contract and creation of a new contract if not priced at the standalone selling price. The Company&#x2019;s more significant contract modifications include extensions of the design license term and the purchase of additional years of support and maintenance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Judgments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s contracts with customers often include promises to transfer multiple products and services to a customer. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together requires significant judgment. Judgment is also required to determine the standalone selling price for each distinct performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract Balances&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The timing of revenue recognition may differ from the timing of invoicing to customers, and these timing differences result in receivables (billed or unbilled), contract assets, or contract liabilities (deferred revenue) on the Company&#x2019;s consolidated balance sheets. The Company records a contract asset when revenue is recognized prior to the right to invoice. The Company records deferred revenue when it invoices customers and revenue is not yet recognized. For time-based software agreements, customers are generally invoiced in single or annual amounts, although some customers are invoiced more frequently over time. The Company records an unbilled receivable when revenue is recognized and it has an unconditional right to invoice and receive payment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company capitalizes sales commission as costs of obtaining a contract when they are incremental and, if they are expected to be recovered, amortized in a manner consistent with the pattern of transfer of the good or service to which the asset relates. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cost of Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Cost of Revenues relates to costs associated with the Company&#x2019;s IP licensing arrangements, deployment solution software and support activities, including applicable personnel related costs, travel, and overhead.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Research and Development&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Research and development costs that do not meet the criteria for capitalization are expensed as incurred. Research and development costs consist primarily of compensation, stock-based compensation, and employee benefits of engineering and product development personnel, consulting services, and other direct expenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Software development costs are capitalized beginning when a product&#x2019;s technological feasibility has been established and ending when a product is available for general release to customers. Arteris has not capitalized any software development costs as of and for the years ended December&#160;31, 2021 and 2020 as the period between establishing technological feasibility and general customer release has historically been short and therefore capitalizable costs have been insignificant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company has not capitalized any&#160;internal-use&#160;software development costs as these costs have historically been insignificant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Sales and Marketing&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Sales and marketing expenses consist of compensation and employee benefits of marketing and sales personnel and related support teams, and stock-based compensation, as well as travel, trade show sponsorships and events, conferences, and internet advertising costs. Advertising costs, included in sales and marketing expenses, are expensed as incurred. The Company incurred advertising costs of $0.4 million and $0.1 million for the years ended December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;General and Administrative&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;General and administrative expenses include executive and administrative compensation and employee benefits, depreciation, professional services fees, insurance costs, bad debt, other allocated costs, such as facility-related expenses, supplies, other fixed costs, and stock-based compensation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company measures equity classified stock-based awards, including stock options, RSUs, and RSAs granted to employees, directors, and&#160;non-employees&#160;based on the estimated fair values of the awards on the date of the grant. Stock-based compensation expense for awards with service-based vesting only is recognized on a straight-line basis over the requisite service period which is generally the vesting period of such awards, as a component of operating expenses within the consolidated statements of income (loss). For awards that include performance conditions stock-based compensation expense is recognized on a graded vesting basis over the requisite service period. Compensation expense is not recognized until the performance condition becomes probable. The Company accounts for forfeitures related to these awards as they occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The fair value of each stock option grant is estimated on the date of grant using the Black-Scholes option-pricing model. This valuation model for stock-based compensation expense requires the Company to make assumptions and judgments about the variables used in the calculation including the expected term, the volatility of the Company&#x2019;s common stock, and an assumed risk-free interest rate. As a result, if the Company revises its assumptions and estimates, the Company&#x2019;s stock-based compensation expense could change.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The fair value of RSUs and RSAs granted is measured as the fair value per share of the Company&#x2019;s common stock on the date of grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company accounts for income taxes under the asset and liability method. Under this method, deferred taxes are determined based on the temporary differences between the financial statement and tax basis of assets and liabilities using tax rates expected to be in effect during the years in which the basis differences are expected to reverse. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. The Company provides for a valuation allowance when it is more likely than not that some portion, or all of its deferred tax assets will not be realized. In making such determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income,&#160;tax-planning&#160;strategies, and results of recent operations. As of December&#160;31, 2021, the Company recorded a full valuation allowance against its U.S. federal, state, and certain foreign jurisdiction net deferred tax assets. As of December&#160;31, 2020, the Company recorded a full valuation allowance against its U.S. federal and state deferred tax assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;ASC 740 prescribes a recognition threshold and a measurement attribute for the financial statement recognition and measurement of tax positions taken or expected to be taken in a tax return. For those benefits to be recognized, a tax position must be more likely than not to be sustained upon examination by taxing authorities. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;There were $3.1 million and $2.5&#160;million unrecognized tax benefits as of December&#160;31, 2021 and 2020. The Company recognizes accrued interest and penalties related to unrecognized tax benefits as income tax expense. No amounts were accrued for the payment of interest and penalties as of December&#160;31, 2021 and 2020. The Company is currently not aware of any issues under review that could result in significant payments, accruals or material deviation from its position.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair value of financials instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company defines fair value as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value measurements for assets and liabilities required or permitted to be recorded at fair value, the Company considers the principal market or the most advantageous market in which it would transact.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company maximizes the use of observable inputs and minimizes the use of unobservable inputs when measuring fair value. Observable inputs are inputs that reflect the assumptions market participants would use in valuing the asset or liability and are developed based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#x2019;s own assumptions about the factors that market participants would use in valuing the asset or liability developed based on the best information available in the circumstances.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The standard establishes a fair value hierarchy based on the level of independent, objective evidence surrounding the inputs used to measure fair value by requiring that the most observable inputs be used when available. A financial instrument&#x2019;s categorization within the fair value hierarchy is based upon the lowest level of input that is significant to the fair value measurement. The fair value hierarchy is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;Level 1 applies to assets or liabilities for which there are quoted prices in active markets for identical assets or liabilities that the Company has the ability to access at the measurement date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;Level 2 applies to assets or liabilities for which there are inputs other than quoted prices included in Level 1 that are observable for the asset or liability, either directly or indirectly, such as quoted prices for similar assets or liabilities in active markets; quoted prices for identical assets or liabilities in markets with insufficient volume or infrequent transactions (less active markets).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;Level 3 applies to assets or liabilities for which fair value is derived from valuation techniques in which one or more significant inputs are unobservable, including the Company&#x2019;s own assumptions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company determined the estimated fair value of financial instruments using available market information and valuation methodologies considered to be appropriate. The carrying amounts of the cash, accounts receivable and accounts payable approximate their fair values due to their short maturities. The Company&#x2019;s investments are recorded at fair value and Term loan, Revolving line of credit, and Vendor financing arrangements are recorded at net carrying value.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recently Adopted Accounting Pronouncements &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In December 2019, the FASB issued ASU No. 2019-12, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;(Topic 740):&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;(ASU 2019-12), which simplifies the accounting for income taxes. This Update removes certain exceptions for performing intraperiod tax allocations, recognizing deferred taxes for investments, and calculating income taxes in interim periods. The guidance also simplifies the accounting for franchise taxes, transactions that result in a step-up in the tax basis of goodwill, and the effect of enacted changes in tax laws or rates in interim periods. The Company adopted ASU 2019-12 on January 1, 2021 and the adoption had no material impact on the Company&#x2019;s consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recently Issued Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In June 2016, the FASB issued ASU No. 2016-13, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt; and in &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;May 2019&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;issued&#160;ASU&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;No.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;2019&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;-&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;05,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Credit Losses (Topic&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;326): Targeted Transition Relief&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;(collectively&#160;referred to as Topic&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;326&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;), which requires the measurement and recognition of expected credit losses for financial assets held at amortized cost. Topic 326 replaces the existing incurred loss impairment model with a forward-looking expected credit loss model which will result in earlier recognition of credit losses. Topic 326 is effective for the Company for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years. The Company does not expect the adoption of this guidance to have a material impact on its consolidated financial statements and related disclosures.&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In October 2021, the FASB issued ASU No. 2021-08, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers. &lt;/span&gt;This standard requires contract assets and contract liabilities acquired in a business combination to be recognized in accordance with Topic 606 as if the acquirer had originated the contracts. The guidance is effective for fiscal years beginning after December 15, 2022, including interim periods within those years and early adoption is permitted. The Company is currently evaluating the impact that the standard will have on its consolidated financial statements and related disclosures.</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MDg_01fdfa17-d39d-4181-9813-8b3b070bc889">Basis of PresentationThe accompanying consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (GAAP).</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MDk_53b6bd4c-3aef-4200-978b-87557b265629">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Principles of Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The consolidated financial statements include the accounts of Arteris, Inc. and its wholly-owned subsidiaries. All intercompany transactions and accounts have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MTM_0f4abbd6-5079-44ce-9c28-ec6efff2c32b">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment Information&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company operates as a single operating segment. The chief operating decision maker is the Company&#x2019;s Chief Executive Officer, who makes resource allocation decisions and assesses performance based on financial information presented on a consolidated basis, accompanied by disaggregated revenue information. Accordingly, the Company has determined that it has a single reportable segment and operating segment.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MTA_5029d2c9-d06e-4ed1-b7f4-f38341c41b68">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The preparation of the consolidated financial statements in conformity with GAAP requires management to make estimates, judgments and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Such estimates relate to, among others, revenue recognition, the useful lives of assets, assessment of recoverability of property, plant and equipment, fair values of goodwill and other intangible assets, including impairments, leases, allowances for doubtful accounts, deferred tax assets and related valuation allowance, stock-based compensation, potential reserves relating to litigation and tax matters, collectability of tax receivable, as well as other accruals or reserves. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MTQ_e9493333-551a-486f-b26c-12c5ae7f37e6">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Foreign Currency&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company and its foreign subsidiaries&#x2019; functional currency is the US dollar. Accordingly, monetary assets and liabilities of foreign subsidiaries are remeasured into US dollars at the exchange rates in effect at the balance sheet date,&#160;non-monetary&#160;assets and liabilities are recorded at historical rates, and revenue and expenses are remeasured at average rates during the period. Remeasurement adjustments are recognized as a component of interest and other income (expense), net within the consolidated statements of loss.&lt;/span&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MTU_aa8e06dc-0bc4-48fa-ad37-70964442e4f5">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Comprehensive Loss&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Comprehensive loss generally represents all changes in stockholders&#x2019; deficit during the period except those resulting from investments by, or distributions to, stockholders. For the years ended December&#160;31, 2021 and 2020, the components of comprehensive loss consist of net loss and unrealized pension actuarial loss.&lt;/span&gt;&lt;/div&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MTY_bf2082d5-8ef8-49b1-a0f2-6514c6ab13cf">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Loss per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Basic net loss per share is computed by dividing net loss available to common stockholders by the weighted-average number of shares of common stock outstanding during the period. Diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock during the period, plus the dilutive effects of stock options, restricted stock units (RSU) and restricted stock awards (RSA). Dilutive shares of common stock are determined by applying the treasury stock method.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MTc_750a4923-57a7-42e4-90bf-3b44447aabd7">Cash and Cash EquivalentsThe Company considers all highly liquid investments with an original maturity of three months or less when purchased to be cash and cash equivalents. Cash and cash equivalents are recorded at cost, which approximates their fair value. As of December&#160;31, 2021 and 2020, cash and cash equivalents consist primarily of checking and savings deposits.</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzM5Njc_7d62819c-55fd-451a-9dab-d1887f719614"
      unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzM5Njc_9d3f22d6-2fc7-4231-b0d4-c1b98caad76b"
      unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MTg_6572c34f-24cc-4504-92b7-52d8b23e8e13">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable and Allowance for Doubtful Accounts&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accounts receivable, net consist of primarily billed and unbilled trade accounts receivable. Unbilled accounts receivable represents amounts recorded as royalty revenue which will be invoiced within a short period upon receipt of the royalty reports from the licensees. The Company records accounts receivable when it has an unconditional right to consideration. Trade accounts receivable are recorded at the invoiced amount. The Company maintains allowances for doubtful accounts to reduce its receivables to their estimated net realizable value. In general, the Company does not offer extended credit terms and also do not require any security or collateral to support its receivables. The Company performs ongoing credit evaluations of its customers and establishes allowances for potential credit losses by considering factors such as historical experience, credit quality, age of the accounts receivable balances, and current economic conditions that may affect a customer&#x2019;s ability to pay. The Company&#x2019;s allowance for doubtful accounts activity has historically not been significant. Probable losses are recorded in general and administrative expense in the consolidated statements of income (loss).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Account balances are written off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote.&lt;/span&gt;&lt;/div&gt;</us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MTE_6f34872c-89b6-4a98-885a-3aefbb68a443">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentrations of Credit Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Financial instruments that potentially subject us to concentration of credit risk consist of cash and accounts receivable. The Company maintains cash in checking and savings deposits. Management believes no significant concentration risk exists with respect to cash as in management&#x2019;s judgment the banks that hold the Company&#x2019;s cash are financially stable. The Company deposits cash with high-credit-quality financial institutions which, at times, may exceed federally insured amounts.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s accounts receivable are derived principally from revenue earned from customers located in Americas and Asia Pacific regions.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MzQ_f9739a37-fca8-4057-b038-01c5d6d542aa">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accounts receivable from the Company&#x2019;s major customers representing 10% or more of total accounts receivable was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of December 31,&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer A&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;12&#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:'Arial',sans-serif;font-size:9.5pt;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="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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer B&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer C&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;31&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;*&#160;&#160;&#160;&#160;Customer accounted for less than 10% of total accounts receivable at period end.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Revenue from the Company&#x2019;s major customers representing 10% or more of total revenue was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer C&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;23&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;15&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer D&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;*&#160;&#160;&#160;&#160;Customer accounted for less than 10% of total revenue in the period.&lt;/span&gt;&lt;/div&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iee28f14dff7f45b7a54245d52aa7b0bf_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90YWJsZTpiZTY0NjE1YWY0NDA0NzY1YjYzNzFkMzg4ZWMxM2E1Yy90YWJsZXJhbmdlOmJlNjQ2MTVhZjQ0MDQ3NjViNjM3MWQzODhlYzEzYTVjXzItMS0xLTEtMjUxMzI_caeea6da-de43-43a7-a36f-9f58b01083ee"
      unitRef="number">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i652d0f2003094168836db5f0d9f4622e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90YWJsZTpiZTY0NjE1YWY0NDA0NzY1YjYzNzFkMzg4ZWMxM2E1Yy90YWJsZXJhbmdlOmJlNjQ2MTVhZjQ0MDQ3NjViNjM3MWQzODhlYzEzYTVjXzMtMS0xLTEtMjUxMzI_df42a263-ee0f-4964-821d-bedd2c0b3778"
      unitRef="number">0.21</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i0a006d8cfcfc45d2a9cc4ec3fc88a19e_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90YWJsZTpiZTY0NjE1YWY0NDA0NzY1YjYzNzFkMzg4ZWMxM2E1Yy90YWJsZXJhbmdlOmJlNjQ2MTVhZjQ0MDQ3NjViNjM3MWQzODhlYzEzYTVjXzMtMy0xLTEtMjUxMzI_b7ea3545-4f7f-45e5-b684-0eba3fd38d60"
      unitRef="number">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ifec953d10c7a4d97a94f645219adc9d7_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90YWJsZTpiZTY0NjE1YWY0NDA0NzY1YjYzNzFkMzg4ZWMxM2E1Yy90YWJsZXJhbmdlOmJlNjQ2MTVhZjQ0MDQ3NjViNjM3MWQzODhlYzEzYTVjXzUtMS0xLTEtMjUxMzI_0d67a67c-0c08-48ba-b7bb-ad48c4117a81"
      unitRef="number">0.33</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2a027b8b0b2c463a900dfcdb145a4190_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90YWJsZTpiZTY0NjE1YWY0NDA0NzY1YjYzNzFkMzg4ZWMxM2E1Yy90YWJsZXJhbmdlOmJlNjQ2MTVhZjQ0MDQ3NjViNjM3MWQzODhlYzEzYTVjXzUtMy0xLTEtMjUxMzI_37758e47-06f9-460a-ada2-ae4a00dcd6ac"
      unitRef="number">0.31</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia0efccd791274602b409c58646d086b4_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90YWJsZTo2NjI2NzAzNzVkZjc0MGUzOTk4N2YzOTIwNWNkMjJlOC90YWJsZXJhbmdlOjY2MjY3MDM3NWRmNzQwZTM5OTg3ZjM5MjA1Y2QyMmU4XzItMS0xLTEtMjUxMzI_05359b7c-7b2f-4e6c-bb6c-f97ac55df868"
      unitRef="number">0.23</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i460f5f0b5ea34264aa10a0f1c7822ccc_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90YWJsZTo2NjI2NzAzNzVkZjc0MGUzOTk4N2YzOTIwNWNkMjJlOC90YWJsZXJhbmdlOjY2MjY3MDM3NWRmNzQwZTM5OTg3ZjM5MjA1Y2QyMmU4XzItMy0xLTEtMjUxMzI_6db76be0-df80-4965-8b10-cacbb87d73bd"
      unitRef="number">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8174a5d9426a4cfaadd9e7ab7348661d_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90YWJsZTo2NjI2NzAzNzVkZjc0MGUzOTk4N2YzOTIwNWNkMjJlOC90YWJsZXJhbmdlOjY2MjY3MDM3NWRmNzQwZTM5OTg3ZjM5MjA1Y2QyMmU4XzMtMy0xLTEtMjUxMzI_d02b37aa-a3ac-426b-80ef-a5c5093fdea9"
      unitRef="number">0.25</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MTk_9bba83aa-07b8-423a-ad81-6c8b6b626adc">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost, less accumulated depreciation. Depreciation is recorded using the straight-line method over the estimated useful lives, generally ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5Mzk_d03252e9-388c-49ef-bc1f-21a577f34b9d"&gt;one&lt;/span&gt; to seven years. Leasehold improvements are amortized over the shorter of the estimated useful life of the asset or the remaining lease term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Depreciation expenses are recorded in cost of revenue and operating expenses in the consolidated statements of loss. Upon retirement or sale, the cost of assets disposed of and the related accumulated depreciation are removed from the accounts and any resulting gain or loss is recorded as a component of operating expenses. Repairs and maintenance costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;The Company evaluates the recoverability of property and equipment for possible impairment whenever events or circumstances indicate that the carrying amount of such assets may not be recoverable. The evaluation is performed at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. Recoverability of these assets is measured by comparing their carrying amounts to the future undiscounted cash flows the assets are expected to generate. If such review indicates that the carrying amount is not recoverable, the carrying amount of such assets is reduced to fair value.</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i5525390cec3a47fabad79bd4d7ebd801_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5NDA_01bb610c-f63b-483e-b574-b92b5876d29b">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:TangibleAssetImpairmentCharges
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzc4NDY_058e0494-ebad-4e5e-a062-21bcc0ce9986"
      unitRef="usd">0</us-gaap:TangibleAssetImpairmentCharges>
    <us-gaap:TangibleAssetImpairmentCharges
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzc4NDY_261a1aa5-0332-4fad-bd69-d0e79e6c54a4"
      unitRef="usd">0</us-gaap:TangibleAssetImpairmentCharges>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MjA_9cb29506-b56d-48f0-820f-d1e8b0b35863">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company allocates the purchase price to the tangible assets acquired, liabilities assumed, and intangible assets acquired based on their estimated fair values. The excess of the purchase price over the fair value of these identifiable assets and liabilities is recorded as goodwill. Such valuations require management to make significant estimates and assumptions, especially with respect to intangible assets. These estimates are based on information obtained from management of the acquired companies, the Company&#x2019;s assessment of this information, and historical experience. Significant estimates in valuing certain intangible assets include, but are not limited to, future expected cash flows from acquired customers, acquired technology, and trade names from a market participant perspective, useful lives, and discount rates. Management&#x2019;s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and unpredictable and, as a result, actual results may differ from estimates. In addition, unanticipated events and circumstances may occur that may affect the accuracy or validity of such estimates, and if such events occur, the Company may be required to adjust the value allocated to acquired assets or assumed liabilities. During the measurement period, which may be up to one year from the acquisition date, the Company may record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company&#x2019;s consolidated statements of income (loss). Acquisition costs, such as legal and consulting fees, are expensed as incurred.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MjE_94959e26-7a97-44c1-b473-20e802bed637">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill and Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company performs its goodwill and other indefinite-lived intangible assets impairment tests annually or more frequently if events or changes in circumstances occur that would more likely than not reduce the fair value below its carrying value. For the years ended December&#160;31, 2021 and 2020, the Company did not have any goodwill or other indefinite-lived intangible assets impairment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Acquired finite-lived intangible assets are amortized on a straight-line basis over the estimated useful lives of the assets, which range from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5NDE_809068d8-e8d0-4098-8762-01725b23b199"&gt;five&lt;/span&gt; to eight years, unless the lives are determined to be indefinite. The Company routinely reviews the remaining estimated useful lives of finite-lived intangible assets. Amortization expenses are recorded in operating expenses on the consolidated statements of income (loss).&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetImpairment
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzEwMDc2_c1b68135-47dd-42f9-9173-e7a512a19238"
      unitRef="usd">0</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:GoodwillAndIntangibleAssetImpairment
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzEwMDc2_c4d5495e-2631-4b38-824e-e21753b1853c"
      unitRef="usd">0</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i5525390cec3a47fabad79bd4d7ebd801_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5NDI_37eebf99-5e27-4b0d-bb0c-7efeb2ab7ccd">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:DebtPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MjI_bfdb5a85-cddf-4c95-830f-9eca570929bc">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Debt Issuance Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Costs incurred in connection with the issuance of long-term debt have been recorded as a direct reduction against the debt and are amortized over the life of the associated debt as a component of interest and other income (expense), net using the effective interest method.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtPolicyTextBlock>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MjM_05d1860b-9eaf-4edf-8eb7-568d43a89964">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Right-of-use&#160;Assets (ROU) and Lease Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company recognizes leases in accordance with Accounting Standard Codification (ASC) Topic 842, Leases, and subsequently issued additional related Accounting Standard Updates (ASU) (Topic 842).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company leases its offices at various locations under noncancelable operating lease agreements expiring at various dates through 2027. Under the terms of these agreements, the Company also bears the costs for certain insurance, property tax, and maintenance. The terms of certain lease agreements provide for increasing rental payments at fixed intervals.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;At lease commencement, the Company measures and records a lease liability equal to the present value of the remaining lease payments, generally discounted using incremental borrowing rate as the implicit rate is not readily determinable on many of its leases. When determining the incremental borrowing rates, the Company considers information including, but not limited to, the lease term, the interest rates on its collateralized debt and incremental borrowing rates for its peer group.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;On the lease commencement date, the amount of the ROU assets consists of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;The amount of the initial measurement of the lease liability;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;Any lease payments made at or before the commencement date, minus any lease incentives received; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;Any initial direct costs incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company assesses the option for lease extensions, renewals, or terminations on individual leases, and generally considers the base term to be the term of lease contracts, unless it is reasonably certain that the Company will exercise such options. Lease agreements may contain other variable costs such as common area maintenance, insurance, real estate taxes or other costs. Variable lease costs are expensed as incurred in the consolidated statements of income (loss). The Company does not include&#160;non-lease&#160;components with lease payments for the purpose of calculating lease&#160;right-of-use&#160;assets and lease liabilities. The lease agreements generally do not contain any residual guarantees or restrictive covenants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Operating leases are included in operating lease ROU assets, operating lease liabilities, current and operating lease liabilities, noncurrent in the consolidated balance sheets. Finance leases are included in property and equipment, accrued expenses and other current liabilities and other liabilities in the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MjQ_3cb486d0-e8f1-4757-a2a8-4f614840633e">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company recognizes revenue in accordance with ASC Topic&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;&#160;606,&#160;Revenue from Contracts with Customers,&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;and subsequently issued additional related&#160;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;ASUs&#160;(Topic&#160;606).&#160;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company recognizes revenues as it transfers control of deliverables (software and services) to its customers in an amount reflecting the consideration to which it expects to be entitled. To recognize revenues, the Company applies the following five step approach: (1)&#160;identify the contract with a customer, (2)&#160;identify the performance obligations in the contract, (3)&#160;determine the transaction price, (4)&#160;allocate the transaction price to the performance obligations in the contract, and (5)&#160;recognize revenues when a performance obligation is satisfied. The Company accounts for a contract when it has approval and commitment from all parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance and collectability of consideration is probable. The Company applies judgment in determining the customer&#x2019;s ability and intention to pay based on a variety of factors including the customer&#x2019;s historical payment experience.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Nature of Products and Services &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s revenue is primarily derived from licensing intellectual property, licensing software, support and maintenance services, professional services, training services, and royalties.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Design Solutions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Interconnect Solutions product arrangements provide customers the right to software licenses, services, software updates and technical support. The Company enters into licensing arrangements with customers that typically range from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzg3OTYwOTMxMTAyMDc_35392e9c-3176-485f-a13f-3ad49c319045"&gt;two&lt;/span&gt; to three years and generally consist of delivery of a design license that grants the customer the right to use the IP to design a contractually defined number of products and stand-ready support services that provide the customer a significant benefit from its proprietary software tool (RTL) as well as ongoing access to Corporate Application Engineers (CAE) and Field Application Engineers (FAE) (collectively, &#x201c;application engineer support services&#x201d;) to perform certain verifications including benchmark performance, simulations and ultimately, through the RTL, instantiate designs into silicon over the design term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The support services, including access to application engineering support services and the benefits of the RTL, are integral and fundamental to the customer&#x2019;s ability to derive its intended benefit from the IP. CAEs are part of the product development team providing detailed requirements for engineering projects, working very closely with a customer&#x2019;s chief technology officer and the marketing department, and performing quality assurance testing of customer products prior to shipment to their customers. FAEs provide assistance to the customer&#x2019;s engineering team in translating their desired SoC architecture into inputs for NoC IP configuration, assistance in optimizing the NoC configuration, answer to customer questions by the online support system or phone, constructive reviews of the progress achieved by the customer&#x2019;s development team and provision of advice on how to best use the licensed IP, performance of design reviews before customer project RTL freeze and&#160;tape-out&#160;to ensure the customer used the licensed IP configuration tooling as intended so that the RTL output meets customer requirements and expectations. FAE reviews of the customer&#x2019;s design are mandatory and consist of an understanding of the customer requirements and analysis of the adequacy of the contemplated IP considering the customer&#x2019;s desired architecture and design goals and objectives, taking into consideration bandwidth,&#160;coherence/non-coherence,&#160;latency, clock and timing, areas, and any and all constraints, as identified and specific to the design under review.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Besides application engineer support services, support and maintenance services also consist of a stand-ready obligation to provide technical support and software updates over the support term. Generally, the first-year of technical support and software updates are bundled with and into the license fee with a customer option to renew additional years of support throughout the license term. However, the Company continues to provide technical support and software updates throughout the license term even if the customer does not renew these services in subsequent years, making the license term and support and maintenance term&#160;co-terminus.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Considering the nature of the combined design tool and assisting the Company&#x2019;s customers in applying its IP technology in its customers&#x2019; development environment and the relative significance thereof, the Company has concluded that its Interconnect Solutions IP licensing arrangements are not distinct from its obligation to provide the application engineering support services and benefits of the RTL. The Interconnect Solutions IP, RTL, and the application engineering support services serve to fulfill its commitment to the customer, as they represent inputs to a single, combined performance obligation that commences upon the later of the arrangement effective date or transfer of the software license. The design license and the regular&#160;two-way&#160;interaction between the design tool, RTL, and the application engineering support services give the customer the intended benefit from the arrangement, which is the ability to commercialize their design. Customers cannot benefit from the design license on its own or together with other readily available resources as no other RTL or application engineer support service provides exists in the marketplace that a customer could use with the design license. Consequently, the RTL and application engineer support service cannot be used on its own or together with any other design license as the Company does not allow the use of the RTL or provide application engineer support services separately from the design license. Further, although technical support and software updates is a distinct performance obligation, it is accounted for as if it were part of a single performance obligation that includes the licenses, RTL and application engineer support services because the technical support and updates are provided in practice for the same period of time and have the same time-based pattern of transfer to the customer as the combined design license, RTL, and application support services.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Revenues that are derived from the sale of a licensee&#x2019;s products that incorporate the Company&#x2019;s IP are classified as royalty revenues. Royalty revenues are recognized during the quarter in which the sale of the product incorporating the Company&#x2019;s IP occurs. Royalties are calculated either as a percentage of the revenues received by a licensee&#x2019;s sale of products incorporating the Company&#x2019;s IP or on a per unit basis, as specified in the agreements with the licensees. For a majority of the Company&#x2019;s royalty revenues, it receives the actual sales data from its customers after the quarter ends and accounts for it as unbilled receivables. When the Company does not receive actual sales data from the customer prior to the finalization of its financial statements, royalty revenues are recognized based on its estimation of the customer&#x2019;s sales during the quarter.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Deployment Solutions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Deployment Solutions product arrangements provide customers the right to software licenses, software updates and technical support. The software licenses are time-based licenses with terms generally ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzg3OTYwOTMxMTAyMzM_d901db38-cef7-4f16-a118-7a867f8b9792"&gt;one&lt;/span&gt; to three years. These arrangements generally have two distinct performance obligations that consist of transferring the licensed software and the support and maintenance service. Support and maintenance services consist of a stand-ready obligation to provide technical support and software updates over the support term. Revenue allocated to the software license is recognized at a point in time upon the later of the delivery date or the beginning of the license period, and revenue allocated to support services is recognized ratably over the support term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;A limited number of Deployment Solutions contracts include tokens, a mechanism used to both enable &#x201c;peak&#x201d; users to choose a combination of the software products on a monthly basis and restrict the number of users. The Company recognizes revenue related to these tokens at a point in time, upon delivery of monthly token license keys to the customer.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Professional Services&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s agreements often include service elements (other than maintenance and support services). These services include training, design assistance, and consulting. Services performed on a time and materials basis are recognized over the period the services are provided either using an output method such as labor hours, or a method that is otherwise consistent with the way in which value is delivered to the customer. Services performed on a fixed price basis are recognized over time, generally using costs incurred or hours expended to measure progress.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Multiple Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Most of the Company&#x2019;s contracts with customers contain multiple performance obligations. For these contracts, the Company accounts for individual performance obligations separately, if they are distinct. The transaction price is allocated to the separate performance obligations on a relative standalone selling price basis, which are estimated considering multiple factors including observable industry pricing practices and internal pricing strategies and objectives.. Standalone selling prices of software license are typically estimated using the residual approach. Standalone selling prices of professional services are typically estimated based on observable transactions when these services are sold on a standalone basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Transaction price&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Revenue is recognized when, or as, control of a promised product or service transfers to a client, in an amount that reflects the consideration to which the Company expects to be entitled in exchange for transferring those products or services. If the consideration promised in a contract includes a variable amount, the Company estimates the amount to which it expects to be entitled using either the expected value or most likely amount method, to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur. Generally, the transaction price of the Company&#x2019;s contracts is fixed at the inception of the contract, except for variable royalties. The Company&#x2019;s contracts generally do not include terms that could cause variability in the transaction price.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company assesses the timing of the transfer of goods or services to the customer as compared to the timing of payments to determine whether a significant financing component exists. As a practical expedient, the Company does not assess the existence of a significant financing component when the difference between payment and transfer of deliverables is a year or less. If the difference in timing arises for reasons other than the provision of finance to either the customer or the Company, no financing component is deemed to exist. When contracts involve a significant financing component, the Company adjusts the promised amount of consideration for the effects of the time value of money if the timing of payments agreed to by the parties to the contract (either explicitly or implicitly) provide the customer with a significant benefit of financing.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company reports revenue net of any revenue-based taxes assessed by governmental authorities that are imposed on and concurrent with specific revenue-producing transactions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In instances where foreign licensees withhold and remit taxes to local authorities in accordance with local laws and regulations, the Company recognizes and presents revenue on a gross basis, and includes the withholding tax in income tax expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Flexible Spending Accounts&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Some customers enter into a&#160;non-cancelable&#160;flexible spending account agreements (FSA Agreements) whereby the customer commits to a fixed dollar amount over a specified period of time that can be used to purchase from a list of the Company&#x2019;s products or services. These agreements do not meet the definition of a revenue contract until the customer executes a separate order to identify the required products and services that they are purchasing. The combination of the FSA agreement and the subsequent order creates enforceable rights and obligations, thus meeting the definition of a revenue contract. Each separate order under the agreement is treated as an individual contract and accounted for based on the respective performance obligations included within the FSA agreements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract modifications&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s contracts may be modified to add, remove or change existing performance obligations. The accounting for modifications to the Company&#x2019;s contracts involves assessing whether the products and services added to an existing contract are distinct and whether the pricing is at the standalone selling price. Products and services added that are not distinct are accounted for on a cumulative&#160;catch-up&#160;basis, while those that are distinct are accounted for prospectively, either as a separate contract if the additional services are priced at the standalone selling price, or as a termination of the existing contract and creation of a new contract if not priced at the standalone selling price. The Company&#x2019;s more significant contract modifications include extensions of the design license term and the purchase of additional years of support and maintenance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Judgments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s contracts with customers often include promises to transfer multiple products and services to a customer. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together requires significant judgment. Judgment is also required to determine the standalone selling price for each distinct performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract Balances&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The timing of revenue recognition may differ from the timing of invoicing to customers, and these timing differences result in receivables (billed or unbilled), contract assets, or contract liabilities (deferred revenue) on the Company&#x2019;s consolidated balance sheets. The Company records a contract asset when revenue is recognized prior to the right to invoice. The Company records deferred revenue when it invoices customers and revenue is not yet recognized. For time-based software agreements, customers are generally invoiced in single or annual amounts, although some customers are invoiced more frequently over time. The Company records an unbilled receivable when revenue is recognized and it has an unconditional right to invoice and receive payment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company capitalizes sales commission as costs of obtaining a contract when they are incremental and, if they are expected to be recovered, amortized in a manner consistent with the pattern of transfer of the good or service to which the asset relates. &lt;/span&gt;&lt;/div&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Incremental costs of obtaining a contract with a customer consist primarily of direct sales commissions incurred upon execution of the contract. These costs are required to be capitalized under ASC&#160;340-40,&#160;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Other Assets and Deferred Costs&#x2014;Contracts With Customers&lt;/span&gt;, and amortized over the license term. As direct sales commissions paid for term extensions are commensurate with the amounts paid for initial contracts, the deferred incremental costs for initial contracts and for term extensions are recognized over the respective contract terms.</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <aip:LicensingArrangementPeriod
      contextRef="i5525390cec3a47fabad79bd4d7ebd801_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzg3OTYwOTMxMTAyMDg_65b5b319-e5fe-4393-9b30-add605933231">P3Y</aip:LicensingArrangementPeriod>
    <aip:SoftwareLicensePeriod
      contextRef="i5525390cec3a47fabad79bd4d7ebd801_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzg3OTYwOTMxMTAyMzQ_fcdf15a9-7e4b-46cf-b50a-fd62840c299d">P3Y</aip:SoftwareLicensePeriod>
    <us-gaap:CostOfSalesPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MjY_39821e94-58b1-43ed-a7fe-33bc1cac6ed1">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cost of Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Cost of Revenues relates to costs associated with the Company&#x2019;s IP licensing arrangements, deployment solution software and support activities, including applicable personnel related costs, travel, and overhead.&lt;/span&gt;&lt;/div&gt;</us-gaap:CostOfSalesPolicyTextBlock>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5Mjc_0d266748-7e0a-4b1a-8d57-1d3475987819">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Research and Development&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Research and development costs that do not meet the criteria for capitalization are expensed as incurred. Research and development costs consist primarily of compensation, stock-based compensation, and employee benefits of engineering and product development personnel, consulting services, and other direct expenses.&lt;/span&gt;&lt;/div&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5Mjg_10198916-3c97-4ca6-b993-90d36237c114">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Software development costs are capitalized beginning when a product&#x2019;s technological feasibility has been established and ending when a product is available for general release to customers. Arteris has not capitalized any software development costs as of and for the years ended December&#160;31, 2021 and 2020 as the period between establishing technological feasibility and general customer release has historically been short and therefore capitalizable costs have been insignificant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company has not capitalized any&#160;internal-use&#160;software development costs as these costs have historically been insignificant.&lt;/span&gt;&lt;/div&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock>
    <us-gaap:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomers
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzI5Mjg4_7cee502e-208f-44a7-88b7-3fd8046848fd"
      unitRef="usd">0</us-gaap:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomers>
    <us-gaap:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomers
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzI5Mjg4_8d2b9451-fa42-4b98-99ca-66f0a3a6ae61"
      unitRef="usd">0</us-gaap:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomers>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5Mjk_4998b4d4-2f3f-4f3d-8920-65f71f71a03d">Sales and MarketingSales and marketing expenses consist of compensation and employee benefits of marketing and sales personnel and related support teams, and stock-based compensation, as well as travel, trade show sponsorships and events, conferences, and internet advertising costs. Advertising costs, included in sales and marketing expenses, are expensed as incurred.</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzMwMDk0_50e045d1-7bc5-43b9-acf5-4d342bc553b5"
      unitRef="usd">400000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzMwMTAx_0b870cb8-c642-4f62-b002-34f91da9ce85"
      unitRef="usd">100000</us-gaap:AdvertisingExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MzA_0fc3cb25-8081-4e59-85d6-36fdb8055c26">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;General and Administrative&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;General and administrative expenses include executive and administrative compensation and employee benefits, depreciation, professional services fees, insurance costs, bad debt, other allocated costs, such as facility-related expenses, supplies, other fixed costs, and stock-based compensation.&lt;/span&gt;&lt;/div&gt;</us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MzE_8b3c5766-c298-48de-9aaf-8c4a93752bbd">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company measures equity classified stock-based awards, including stock options, RSUs, and RSAs granted to employees, directors, and&#160;non-employees&#160;based on the estimated fair values of the awards on the date of the grant. Stock-based compensation expense for awards with service-based vesting only is recognized on a straight-line basis over the requisite service period which is generally the vesting period of such awards, as a component of operating expenses within the consolidated statements of income (loss). For awards that include performance conditions stock-based compensation expense is recognized on a graded vesting basis over the requisite service period. Compensation expense is not recognized until the performance condition becomes probable. The Company accounts for forfeitures related to these awards as they occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The fair value of each stock option grant is estimated on the date of grant using the Black-Scholes option-pricing model. This valuation model for stock-based compensation expense requires the Company to make assumptions and judgments about the variables used in the calculation including the expected term, the volatility of the Company&#x2019;s common stock, and an assumed risk-free interest rate. As a result, if the Company revises its assumptions and estimates, the Company&#x2019;s stock-based compensation expense could change.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The fair value of RSUs and RSAs granted is measured as the fair value per share of the Company&#x2019;s common stock on the date of grant.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MzI_3cb940e8-c7ad-4427-9fc3-5eaecc0b6065">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company accounts for income taxes under the asset and liability method. Under this method, deferred taxes are determined based on the temporary differences between the financial statement and tax basis of assets and liabilities using tax rates expected to be in effect during the years in which the basis differences are expected to reverse. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. The Company provides for a valuation allowance when it is more likely than not that some portion, or all of its deferred tax assets will not be realized. In making such determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income,&#160;tax-planning&#160;strategies, and results of recent operations. As of December&#160;31, 2021, the Company recorded a full valuation allowance against its U.S. federal, state, and certain foreign jurisdiction net deferred tax assets. As of December&#160;31, 2020, the Company recorded a full valuation allowance against its U.S. federal and state deferred tax assets.&lt;/span&gt;&lt;/div&gt;ASC 740 prescribes a recognition threshold and a measurement attribute for the financial statement recognition and measurement of tax positions taken or expected to be taken in a tax return. For those benefits to be recognized, a tax position must be more likely than not to be sustained upon examination by taxing authorities. There were $3.1 million and $2.5&#160;million unrecognized tax benefits as of December&#160;31, 2021 and 2020. The Company recognizes accrued interest and penalties related to unrecognized tax benefits as income tax expense.</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzMzMzUz_f1600eb4-cee5-414f-ac57-62490574932b"
      unitRef="usd">3100000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzE5MjQxNDUzNTkzNDg2_d010908d-8be3-4416-8e1b-fcd4c12f71ba"
      unitRef="usd">2500000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzMzNTEz_6419bd89-be21-4206-9cd6-8ce3128f8f4a"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzMzNTEz_9dd8f57e-1bcd-40e3-9ed4-79b95be1af83"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MzM_3ee969ba-249b-48ca-9495-8fee026b5bf7">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair value of financials instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company defines fair value as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value measurements for assets and liabilities required or permitted to be recorded at fair value, the Company considers the principal market or the most advantageous market in which it would transact.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company maximizes the use of observable inputs and minimizes the use of unobservable inputs when measuring fair value. Observable inputs are inputs that reflect the assumptions market participants would use in valuing the asset or liability and are developed based on market data obtained from sources independent of the Company. Unobservable inputs are inputs that reflect the Company&#x2019;s own assumptions about the factors that market participants would use in valuing the asset or liability developed based on the best information available in the circumstances.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The standard establishes a fair value hierarchy based on the level of independent, objective evidence surrounding the inputs used to measure fair value by requiring that the most observable inputs be used when available. A financial instrument&#x2019;s categorization within the fair value hierarchy is based upon the lowest level of input that is significant to the fair value measurement. The fair value hierarchy is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;Level 1 applies to assets or liabilities for which there are quoted prices in active markets for identical assets or liabilities that the Company has the ability to access at the measurement date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;Level 2 applies to assets or liabilities for which there are inputs other than quoted prices included in Level 1 that are observable for the asset or liability, either directly or indirectly, such as quoted prices for similar assets or liabilities in active markets; quoted prices for identical assets or liabilities in markets with insufficient volume or infrequent transactions (less active markets).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:45pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x25a0;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;padding-left:12.27pt"&gt;Level 3 applies to assets or liabilities for which fair value is derived from valuation techniques in which one or more significant inputs are unobservable, including the Company&#x2019;s own assumptions.&lt;/span&gt;&lt;/div&gt;The Company determined the estimated fair value of financial instruments using available market information and valuation methodologies considered to be appropriate. The carrying amounts of the cash, accounts receivable and accounts payable approximate their fair values due to their short maturities. The Company&#x2019;s investments are recorded at fair value and Term loan, Revolving line of credit, and Vendor financing arrangements are recorded at net carrying value.</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTUvZnJhZzo3NWExMzM0ZTgwNGY0ZDZiOTFlNWYwNTI0YzIxZWYxZi90ZXh0cmVnaW9uOjc1YTEzMzRlODA0ZjRkNmI5MWU1ZjA1MjRjMjFlZjFmXzQ5NDc4MDI0MTI5MTI_27c90260-bdf6-4960-b5e5-58384c139b16">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recently Adopted Accounting Pronouncements &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In December 2019, the FASB issued ASU No. 2019-12, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;(Topic 740):&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;(ASU 2019-12), which simplifies the accounting for income taxes. This Update removes certain exceptions for performing intraperiod tax allocations, recognizing deferred taxes for investments, and calculating income taxes in interim periods. The guidance also simplifies the accounting for franchise taxes, transactions that result in a step-up in the tax basis of goodwill, and the effect of enacted changes in tax laws or rates in interim periods. The Company adopted ASU 2019-12 on January 1, 2021 and the adoption had no material impact on the Company&#x2019;s consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recently Issued Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In June 2016, the FASB issued ASU No. 2016-13, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt; and in &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;May 2019&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;issued&#160;ASU&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;No.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;2019&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;-&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;05,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Credit Losses (Topic&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;326): Targeted Transition Relief&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#160;(collectively&#160;referred to as Topic&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;326&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;), which requires the measurement and recognition of expected credit losses for financial assets held at amortized cost. Topic 326 replaces the existing incurred loss impairment model with a forward-looking expected credit loss model which will result in earlier recognition of credit losses. Topic 326 is effective for the Company for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years. The Company does not expect the adoption of this guidance to have a material impact on its consolidated financial statements and related disclosures.&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In October 2021, the FASB issued ASU No. 2021-08, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers. &lt;/span&gt;This standard requires contract assets and contract liabilities acquired in a business combination to be recognized in accordance with Topic 606 as if the acquirer had originated the contracts. The guidance is effective for fiscal years beginning after December 15, 2022, including interim periods within those years and early adoption is permitted. The Company is currently evaluating the impact that the standard will have on its consolidated financial statements and related disclosures.</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzQ5NDc4MDIzMzI5NzE_ae0dbbe6-1cce-4725-85f2-384e27c5c53c">REVENUE&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Disaggregated Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table shows revenue by product and services groups (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Licensing, support and maintenance&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;34,731&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;27,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Variable royalties&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Other&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;37,864&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;31,812&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract Balances&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table provides information about accounts receivable, contract assets and deferred revenue (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accounts receivable&#x2014;net&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13,873&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14,350&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Contract assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Deferred revenue&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(49,176)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(32,908)&lt;/span&gt;&lt;/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:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;During the years ended December&#160;31, 2021 and 2020, the Company recognized revenue of $19.1 million and $15.7 million, respectively, that was included in the deferred revenue balance at the beginning of the fiscal year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Contracted but unsatisfied performance obligations were $49.3 million and $37.6 million at the end of fiscal years 2021 and 2020, respectively, and include unearned revenue and&#160;non-cancelable&#160;FSA commitments from customers where actual product selection and quantities of specific products are to be determined by customers at a future period. FSA commitments amounted to $0.2 million and $4.7 million at the end of fiscal years 2021 and 2020, respectively. The Company has elected to exclude the potential future royalty receipts from the remaining performance obligations. The contracted but unsatisfied or partially unsatisfied performance obligations, excluding&#160;non-cancelable&#160;FSA, expected to be recognized in revenue over the next 12 months at the end of fiscal year 2021 are $29.7 million, with the remainder recognized thereafter.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table is a roll forward of contract balances as of December&#160;31, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Deferred revenue licensing, support and maintenance&#x2014;beginning balance&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;32,908&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;23,116&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Additions&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;51,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;37,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Revenue recognized&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(35,217)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(27,408)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Deferred revenue licensing, support and maintenance&#x2014;ending balance&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;49,176&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;32,908&#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 style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;During fiscal years 2021 and 2020, the Company recognized $2.6 million and $3.5 million, respectively, from performance obligations satisfied from sales-based royalties earned during the periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Costs of Obtaining a Contract with a Customer&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Incremental costs of obtaining a contract with a customer consist primarily of direct sales commissions incurred upon execution of the contract. These costs are required to be capitalized under ASC&#160;340-40,&#160;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Other Assets and Deferred Costs&#x2014;Contracts With Customers&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;, and amortized over the license term. As direct sales commissions paid for term extensions are commensurate with the amounts paid for initial contracts, the deferred incremental costs for initial contracts and for term extensions are recognized over the respective contract terms. Total capitalized direct commission costs were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Short-term commission capitalized in prepaid expenses and other current assets&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,289&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,079&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Long-term commission capitalized in other 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,008&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Amortization of capitalized sales commissions were $2.3 million and $2.2 million during fiscal 2021 and 2020, respectively, and are included in sales and marketing expense in the consolidated statements of loss.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzQ5NDc4MDIzMzI5NzI_281ad1c9-5cbd-4323-a0a2-aa65ac96ddd8">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table shows revenue by product and services groups (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Licensing, support and maintenance&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;34,731&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;27,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Variable royalties&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Other&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;37,864&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;31,812&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1224159aa4164ca19f4183b3c6f7c975_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpkNmRlMzhlNzYyOWE0NTgxYmFiMWVkZjRhYzQzNWZjOC90YWJsZXJhbmdlOmQ2ZGUzOGU3NjI5YTQ1ODFiYWIxZWRmNGFjNDM1ZmM4XzItMS0xLTEtMjUxMzI_0ef21e0a-cc79-49c3-8b47-7ef0944a0533"
      unitRef="usd">34731000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifd1b566a798341148e8d17bc54b3f8dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpkNmRlMzhlNzYyOWE0NTgxYmFiMWVkZjRhYzQzNWZjOC90YWJsZXJhbmdlOmQ2ZGUzOGU3NjI5YTQ1ODFiYWIxZWRmNGFjNDM1ZmM4XzItMy0xLTEtMjUxMzI_eeeef83c-0402-4b6c-9670-0c0508e6227f"
      unitRef="usd">27408000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6726e893cbeb497b8b595783915ec796_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpkNmRlMzhlNzYyOWE0NTgxYmFiMWVkZjRhYzQzNWZjOC90YWJsZXJhbmdlOmQ2ZGUzOGU3NjI5YTQ1ODFiYWIxZWRmNGFjNDM1ZmM4XzMtMS0xLTEtMjUxMzI_32eb963e-acb5-4207-a45b-8bef3ac637fa"
      unitRef="usd">2647000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1d3d0a731cd648de85aafff4c56b243a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpkNmRlMzhlNzYyOWE0NTgxYmFiMWVkZjRhYzQzNWZjOC90YWJsZXJhbmdlOmQ2ZGUzOGU3NjI5YTQ1ODFiYWIxZWRmNGFjNDM1ZmM4XzMtMy0xLTEtMjUxMzI_f7ec74c5-407d-4843-8f55-f4a224a47b85"
      unitRef="usd">3470000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie83d75cf6d7e491e842a7358464c9db6_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpkNmRlMzhlNzYyOWE0NTgxYmFiMWVkZjRhYzQzNWZjOC90YWJsZXJhbmdlOmQ2ZGUzOGU3NjI5YTQ1ODFiYWIxZWRmNGFjNDM1ZmM4XzQtMS0xLTEtMjUxMzI_f39d1d5f-4f6f-461e-8fab-933224cd7d4c"
      unitRef="usd">486000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3c62b147901c459fae182791576a986d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpkNmRlMzhlNzYyOWE0NTgxYmFiMWVkZjRhYzQzNWZjOC90YWJsZXJhbmdlOmQ2ZGUzOGU3NjI5YTQ1ODFiYWIxZWRmNGFjNDM1ZmM4XzQtMy0xLTEtMjUxMzI_16b78a3b-36d8-4629-ba03-937193c994ef"
      unitRef="usd">934000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpkNmRlMzhlNzYyOWE0NTgxYmFiMWVkZjRhYzQzNWZjOC90YWJsZXJhbmdlOmQ2ZGUzOGU3NjI5YTQ1ODFiYWIxZWRmNGFjNDM1ZmM4XzUtMS0xLTEtMjUxMzI_b8da815a-4157-4550-84db-ada8a761bb31"
      unitRef="usd">37864000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpkNmRlMzhlNzYyOWE0NTgxYmFiMWVkZjRhYzQzNWZjOC90YWJsZXJhbmdlOmQ2ZGUzOGU3NjI5YTQ1ODFiYWIxZWRmNGFjNDM1ZmM4XzUtMy0xLTEtMjUxMzI_49eba64d-a001-4337-9246-a8814d9e3813"
      unitRef="usd">31812000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzQ5NDc4MDIzMzI5NzM_4237c6ef-546c-411e-8c72-5c8e00921ab9">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table provides information about accounts receivable, contract assets and deferred revenue (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accounts receivable&#x2014;net&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13,873&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14,350&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Contract assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Deferred revenue&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(49,176)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(32,908)&lt;/span&gt;&lt;/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:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table is a roll forward of contract balances as of December&#160;31, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Deferred revenue licensing, support and maintenance&#x2014;beginning balance&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;32,908&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;23,116&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Additions&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;51,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;37,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Revenue recognized&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(35,217)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(27,408)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Deferred revenue licensing, support and maintenance&#x2014;ending balance&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;49,176&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;32,908&#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:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTphMDQ1YzczYWFmYzA0ZDgyOThlN2MzMjM5NzU4ZWVhYS90YWJsZXJhbmdlOmEwNDVjNzNhYWZjMDRkODI5OGU3YzMyMzk3NThlZWFhXzItMS0xLTEtMjUxMzI_0ce7283d-38e1-4d90-b3c1-5081f669a581"
      unitRef="usd">13873000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTphMDQ1YzczYWFmYzA0ZDgyOThlN2MzMjM5NzU4ZWVhYS90YWJsZXJhbmdlOmEwNDVjNzNhYWZjMDRkODI5OGU3YzMyMzk3NThlZWFhXzItMy0xLTEtMjUxMzI_4b7c1abd-9748-4208-a206-93a9463c56f9"
      unitRef="usd">14350000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTphMDQ1YzczYWFmYzA0ZDgyOThlN2MzMjM5NzU4ZWVhYS90YWJsZXJhbmdlOmEwNDVjNzNhYWZjMDRkODI5OGU3YzMyMzk3NThlZWFhXzMtMS0xLTEtMjUxMzI_e7606e69-696f-48be-b7d9-526d53bc666e"
      unitRef="usd">1486000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTphMDQ1YzczYWFmYzA0ZDgyOThlN2MzMjM5NzU4ZWVhYS90YWJsZXJhbmdlOmEwNDVjNzNhYWZjMDRkODI5OGU3YzMyMzk3NThlZWFhXzMtMy0xLTEtMjUxMzI_62f7507d-6553-4c45-8939-3e2f25b50c70"
      unitRef="usd">1359000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTphMDQ1YzczYWFmYzA0ZDgyOThlN2MzMjM5NzU4ZWVhYS90YWJsZXJhbmdlOmEwNDVjNzNhYWZjMDRkODI5OGU3YzMyMzk3NThlZWFhXzQtMS0xLTEtMjUxMzI_c2d831a8-f76e-45d3-9292-bc8d5b7d2da1"
      unitRef="usd">49176000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTphMDQ1YzczYWFmYzA0ZDgyOThlN2MzMjM5NzU4ZWVhYS90YWJsZXJhbmdlOmEwNDVjNzNhYWZjMDRkODI5OGU3YzMyMzk3NThlZWFhXzQtMy0xLTEtMjUxMzI_1fc211c9-5d75-4f17-95ea-f69f08ccf8eb"
      unitRef="usd">32908000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzEwOTk1MTE2MzU2MDI_7df10266-cb7b-44d0-bde8-4cd7740aec91"
      unitRef="usd">19100000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzEwOTk1MTE2MzU1OTg_040dcfee-101d-44ce-a9b8-ee3ace36350e"
      unitRef="usd">15700000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzEwOTk1MTE2MzU2MjU_2ad09f33-7171-42e6-a918-04adc103a53f"
      unitRef="usd">49300000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzEwOTk1MTE2MzU2MjE_c287fea7-9371-4d64-badc-4f798f3bba8b"
      unitRef="usd">37600000</us-gaap:RevenueRemainingPerformanceObligation>
    <aip:RevenueRemainingPerformanceObligationFlexibleSpendingAccountCommitmentAmount
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzEwOTk1MTE2MzU2Mzg_7274c0f9-84fb-4b9e-9f6b-747e9fe4940e"
      unitRef="usd">200000</aip:RevenueRemainingPerformanceObligationFlexibleSpendingAccountCommitmentAmount>
    <aip:RevenueRemainingPerformanceObligationFlexibleSpendingAccountCommitmentAmount
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzEwOTk1MTE2MzU2MzQ_da52a0bd-f49e-40d0-b86d-b0fad6c53f34"
      unitRef="usd">4700000</aip:RevenueRemainingPerformanceObligationFlexibleSpendingAccountCommitmentAmount>
    <aip:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExcludingFlexibleSpendingAccountPeriod
      contextRef="i72039472e0b44554b26bb61f7fd7cd19_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzI5ODM_a7bdd9c8-ba96-40ca-9973-b155fc5515af">P12M</aip:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExcludingFlexibleSpendingAccountPeriod>
    <aip:RevenueRemainingPerformanceObligationExcludingFlexibleSpendingAccountCommitmentAmount
      contextRef="i72039472e0b44554b26bb61f7fd7cd19_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzMwMTk_6e25658d-2e79-45e2-90f5-0eaf74ebcd88"
      unitRef="usd">29700000</aip:RevenueRemainingPerformanceObligationExcludingFlexibleSpendingAccountCommitmentAmount>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpiNjA3NzI3YmUzN2U0ZDAyOTMyZTM2ODA0MzJhZWI2YS90YWJsZXJhbmdlOmI2MDc3MjdiZTM3ZTRkMDI5MzJlMzY4MDQzMmFlYjZhXzItMS0xLTEtMjUxMzI_d0ac32a1-3dbf-4b52-bc16-53989e3dd363"
      unitRef="usd">32908000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ie2db5cdde30f4eeb88b023bdc59ea51c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpiNjA3NzI3YmUzN2U0ZDAyOTMyZTM2ODA0MzJhZWI2YS90YWJsZXJhbmdlOmI2MDc3MjdiZTM3ZTRkMDI5MzJlMzY4MDQzMmFlYjZhXzItMy0xLTEtMjUxMzI_f3b8c50f-7df8-4e20-bf48-104684b91131"
      unitRef="usd">23116000</us-gaap:ContractWithCustomerLiability>
    <aip:ContractWithCustomerLiabilityAdditions
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpiNjA3NzI3YmUzN2U0ZDAyOTMyZTM2ODA0MzJhZWI2YS90YWJsZXJhbmdlOmI2MDc3MjdiZTM3ZTRkMDI5MzJlMzY4MDQzMmFlYjZhXzMtMS0xLTEtMjUxMzI_b6be346e-e1ec-4784-8623-5407bdcac6e0"
      unitRef="usd">51485000</aip:ContractWithCustomerLiabilityAdditions>
    <aip:ContractWithCustomerLiabilityAdditions
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpiNjA3NzI3YmUzN2U0ZDAyOTMyZTM2ODA0MzJhZWI2YS90YWJsZXJhbmdlOmI2MDc3MjdiZTM3ZTRkMDI5MzJlMzY4MDQzMmFlYjZhXzMtMy0xLTEtMjUxMzI_72b73167-8b3a-45ac-b80e-3f2c64804143"
      unitRef="usd">37200000</aip:ContractWithCustomerLiabilityAdditions>
    <aip:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpiNjA3NzI3YmUzN2U0ZDAyOTMyZTM2ODA0MzJhZWI2YS90YWJsZXJhbmdlOmI2MDc3MjdiZTM3ZTRkMDI5MzJlMzY4MDQzMmFlYjZhXzQtMS0xLTEtMjUxMzI_6975024a-a61a-4009-880f-7b81ec175a4c"
      unitRef="usd">35217000</aip:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance>
    <aip:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpiNjA3NzI3YmUzN2U0ZDAyOTMyZTM2ODA0MzJhZWI2YS90YWJsZXJhbmdlOmI2MDc3MjdiZTM3ZTRkMDI5MzJlMzY4MDQzMmFlYjZhXzQtMy0xLTEtMjUxMzI_309b1c2d-247e-4d57-abd1-4ddebd92a411"
      unitRef="usd">27408000</aip:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpiNjA3NzI3YmUzN2U0ZDAyOTMyZTM2ODA0MzJhZWI2YS90YWJsZXJhbmdlOmI2MDc3MjdiZTM3ZTRkMDI5MzJlMzY4MDQzMmFlYjZhXzUtMS0xLTEtMjUxMzI_d53cad81-8dc9-45ec-9eb9-9a92dd236dc6"
      unitRef="usd">49176000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTpiNjA3NzI3YmUzN2U0ZDAyOTMyZTM2ODA0MzJhZWI2YS90YWJsZXJhbmdlOmI2MDc3MjdiZTM3ZTRkMDI5MzJlMzY4MDQzMmFlYjZhXzUtMy0xLTEtMjUxMzI_40a6c34b-9b04-423b-9007-003b4d63af04"
      unitRef="usd">32908000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i6726e893cbeb497b8b595783915ec796_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzEwOTk1MTE2MzU2ODI_9a23db1e-d00f-4dd8-8ec3-00b1f595d6fc"
      unitRef="usd">2600000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i1d3d0a731cd648de85aafff4c56b243a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzEwOTk1MTE2MzU2ODc_c92dbd00-31fe-48b3-baef-210aef9e61d6"
      unitRef="usd">3500000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:CapitalizedContractCostTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzQ5NDc4MDIzMzI5NzU_be0483e2-9450-4fc5-99e6-294d928de416">Total capitalized direct commission costs were as follows (in thousands):&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Short-term commission capitalized in prepaid expenses and other current assets&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,289&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,079&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Long-term commission capitalized in other 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,008&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:CapitalizedContractCostTableTextBlock>
    <us-gaap:CapitalizedContractCostNetCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTo1ZDdlOWQ4NzdiN2M0ZjIzOGQ1Y2M1NTU4MTFmM2IxZi90YWJsZXJhbmdlOjVkN2U5ZDg3N2I3YzRmMjM4ZDVjYzU1NTgxMWYzYjFmXzItMS0xLTEtMjUxMzI_4f1dddcf-eb19-4238-bd9c-9934ec4a9d0e"
      unitRef="usd">2289000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:CapitalizedContractCostNetCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTo1ZDdlOWQ4NzdiN2M0ZjIzOGQ1Y2M1NTU4MTFmM2IxZi90YWJsZXJhbmdlOjVkN2U5ZDg3N2I3YzRmMjM4ZDVjYzU1NTgxMWYzYjFmXzItMy0xLTEtMjUxMzI_fcdc8269-8983-4326-88e8-8e4a316e329a"
      unitRef="usd">1079000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:CapitalizedContractCostNetNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTo1ZDdlOWQ4NzdiN2M0ZjIzOGQ1Y2M1NTU4MTFmM2IxZi90YWJsZXJhbmdlOjVkN2U5ZDg3N2I3YzRmMjM4ZDVjYzU1NTgxMWYzYjFmXzMtMS0xLTEtMjUxMzI_2db2247b-1d2a-415e-ad85-5b1e1b9e7399"
      unitRef="usd">1719000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:CapitalizedContractCostNetNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTo1ZDdlOWQ4NzdiN2M0ZjIzOGQ1Y2M1NTU4MTFmM2IxZi90YWJsZXJhbmdlOjVkN2U5ZDg3N2I3YzRmMjM4ZDVjYzU1NTgxMWYzYjFmXzMtMy0xLTEtMjUxMzI_6d855ae9-6130-4ef1-8a67-b729a008d389"
      unitRef="usd">1479000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTo1ZDdlOWQ4NzdiN2M0ZjIzOGQ1Y2M1NTU4MTFmM2IxZi90YWJsZXJhbmdlOjVkN2U5ZDg3N2I3YzRmMjM4ZDVjYzU1NTgxMWYzYjFmXzQtMS0xLTEtMjUxMzI_fa365207-4bc5-4fbe-8ba9-20b5534d1312"
      unitRef="usd">4008000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90YWJsZTo1ZDdlOWQ4NzdiN2M0ZjIzOGQ1Y2M1NTU4MTFmM2IxZi90YWJsZXJhbmdlOjVkN2U5ZDg3N2I3YzRmMjM4ZDVjYzU1NTgxMWYzYjFmXzQtMy0xLTEtMjUxMzI_d462431a-4e8f-4360-a87c-c3d8dfeb23b7"
      unitRef="usd">2558000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzEwOTk1MTE2MzU3MjI_59b42616-61e5-4c02-99e4-1ff33b51520a"
      unitRef="usd">2300000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMTgvZnJhZzo2NTQxZDdmYjE0NGQ0MDg0YWY4MGJkN2YyYWVmYTQ0OS90ZXh0cmVnaW9uOjY1NDFkN2ZiMTQ0ZDQwODRhZjgwYmQ3ZjJhZWZhNDQ5XzEwOTk1MTE2MzU3Mjk_66cdfa35-a44b-46f5-b0ce-fc2125775d05"
      unitRef="usd">2200000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90ZXh0cmVnaW9uOjZlODdkNjg1M2VjYjQxODM4MmI0MTZmYzczZWFmZWZlXzQ5NDc4MDIzMjU4MzY_3fbdb2b9-79b6-441e-8a44-708c74ca88cc">NET LOSS PER SHARE&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table presents the calculation of basic and diluted net loss per share attributable to common stockholders (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Numerator:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net loss&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(23,384)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(3,260)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Denominator:&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted-average shares outstanding&#x2014;Basic and diluted&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;21,972,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;17,577,846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net loss per share, basic and diluted&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1.06)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(0.19)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Since the Company was in a loss position for the years ended December&#160;31, 2021 and 2020, the diluted earnings per share is equal to the basic earnings per share as the effect of potentially dilutive securities would have been antidilutive.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes the potentially dilutive securities that were excluded from the calculation of diluted earnings per share because they would be anti-dilutive were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Stock options&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,407,170&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,073,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Restricted stock units&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,925,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;843,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Redeemable convertible preferred stock&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,471,316&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;9,332,267&#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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;12,387,995&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90ZXh0cmVnaW9uOjZlODdkNjg1M2VjYjQxODM4MmI0MTZmYzczZWFmZWZlXzQ5NDc4MDIzMjU4Mzc_a4ca8235-48ce-4072-8ea4-67f2a2df74df">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table presents the calculation of basic and diluted net loss per share attributable to common stockholders (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Numerator:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net loss&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(23,384)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(3,260)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Denominator:&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted-average shares outstanding&#x2014;Basic and diluted&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;21,972,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;17,577,846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net loss per share, basic and diluted&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1.06)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(0.19)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZToyOTY5ZGIzOWViNjY0MTU4YWE3OGM4OTk2ZDljZDMzMC90YWJsZXJhbmdlOjI5NjlkYjM5ZWI2NjQxNThhYTc4Yzg5OTZkOWNkMzMwXzMtMS0xLTEtMjUxMzI_91adeaaa-7b9b-46d9-94ca-9a3af16c1ab0"
      unitRef="usd">-23384000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZToyOTY5ZGIzOWViNjY0MTU4YWE3OGM4OTk2ZDljZDMzMC90YWJsZXJhbmdlOjI5NjlkYjM5ZWI2NjQxNThhYTc4Yzg5OTZkOWNkMzMwXzMtMy0xLTEtMjUxMzI_1d654664-a66c-4f9b-9410-2e774ee6a61b"
      unitRef="usd">-3260000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZToyOTY5ZGIzOWViNjY0MTU4YWE3OGM4OTk2ZDljZDMzMC90YWJsZXJhbmdlOjI5NjlkYjM5ZWI2NjQxNThhYTc4Yzg5OTZkOWNkMzMwXzctMS0xLTEtMjUxMzI_9c981638-b00a-4ea5-8145-1456604ebbee"
      unitRef="shares">21972101</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZToyOTY5ZGIzOWViNjY0MTU4YWE3OGM4OTk2ZDljZDMzMC90YWJsZXJhbmdlOjI5NjlkYjM5ZWI2NjQxNThhYTc4Yzg5OTZkOWNkMzMwXzctMS0xLTEtMjUxMzI_9ddf5861-54b9-4c88-bd4e-a5e682984106"
      unitRef="shares">21972101</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZToyOTY5ZGIzOWViNjY0MTU4YWE3OGM4OTk2ZDljZDMzMC90YWJsZXJhbmdlOjI5NjlkYjM5ZWI2NjQxNThhYTc4Yzg5OTZkOWNkMzMwXzctMy0xLTEtMjUxMzI_799204e2-d85b-422d-bf76-24ce46af8154"
      unitRef="shares">17577846</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZToyOTY5ZGIzOWViNjY0MTU4YWE3OGM4OTk2ZDljZDMzMC90YWJsZXJhbmdlOjI5NjlkYjM5ZWI2NjQxNThhYTc4Yzg5OTZkOWNkMzMwXzctMy0xLTEtMjUxMzI_79e8e7ec-db0a-40de-9f74-6b814f5df9e7"
      unitRef="shares">17577846</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZToyOTY5ZGIzOWViNjY0MTU4YWE3OGM4OTk2ZDljZDMzMC90YWJsZXJhbmdlOjI5NjlkYjM5ZWI2NjQxNThhYTc4Yzg5OTZkOWNkMzMwXzEzLTEtMS0xLTI1MTMy_18c5ceb5-a006-438e-824d-4a4bfd238e66"
      unitRef="usdPerShare">-1.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZToyOTY5ZGIzOWViNjY0MTU4YWE3OGM4OTk2ZDljZDMzMC90YWJsZXJhbmdlOjI5NjlkYjM5ZWI2NjQxNThhYTc4Yzg5OTZkOWNkMzMwXzEzLTEtMS0xLTI1MTMy_95141f84-b573-4225-be86-90d72b8bc86b"
      unitRef="usdPerShare">-1.06</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZToyOTY5ZGIzOWViNjY0MTU4YWE3OGM4OTk2ZDljZDMzMC90YWJsZXJhbmdlOjI5NjlkYjM5ZWI2NjQxNThhYTc4Yzg5OTZkOWNkMzMwXzEzLTMtMS0xLTI1MTMy_2bf5a75b-39cf-492c-8f05-173d7b158b77"
      unitRef="usdPerShare">-0.19</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZToyOTY5ZGIzOWViNjY0MTU4YWE3OGM4OTk2ZDljZDMzMC90YWJsZXJhbmdlOjI5NjlkYjM5ZWI2NjQxNThhYTc4Yzg5OTZkOWNkMzMwXzEzLTMtMS0xLTI1MTMy_58f0ba01-9902-47b8-a138-030f23d6f3e1"
      unitRef="usdPerShare">-0.19</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90ZXh0cmVnaW9uOjZlODdkNjg1M2VjYjQxODM4MmI0MTZmYzczZWFmZWZlXzQ5NDc4MDIzMjU4Mzg_ef09d191-6099-4122-bc46-fbf3d42c2cc1">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes the potentially dilutive securities that were excluded from the calculation of diluted earnings per share because they would be anti-dilutive were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Stock options&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,407,170&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,073,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Restricted stock units&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,925,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;843,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Redeemable convertible preferred stock&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,471,316&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;9,332,267&#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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;12,387,995&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i0ef90bc6b87a4840b721829af4ac4939_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZTo5NWI4NmM5NDAzODQ0MzEzYjI3M2E2Y2FkMGY5ZmNkMi90YWJsZXJhbmdlOjk1Yjg2Yzk0MDM4NDQzMTNiMjczYTZjYWQwZjlmY2QyXzItMS0xLTEtMjUxMzI_21d3e245-cb43-40c2-8983-aae81b391b1e"
      unitRef="shares">5407170</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i1c1c78235e8c4c28879b5879a3d30763_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZTo5NWI4NmM5NDAzODQ0MzEzYjI3M2E2Y2FkMGY5ZmNkMi90YWJsZXJhbmdlOjk1Yjg2Yzk0MDM4NDQzMTNiMjczYTZjYWQwZjlmY2QyXzItMy0xLTEtMjUxMzI_495decfc-98eb-413e-ab4d-528313ec459a"
      unitRef="shares">7073584</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i719ac3f1e767449ca7d8cd0b9405d77c_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZTo5NWI4NmM5NDAzODQ0MzEzYjI3M2E2Y2FkMGY5ZmNkMi90YWJsZXJhbmdlOjk1Yjg2Yzk0MDM4NDQzMTNiMjczYTZjYWQwZjlmY2QyXzMtMS0xLTEtMjUxMzI_5101bfd1-244a-44a0-8d82-9ff793fba9b1"
      unitRef="shares">3925097</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i7b36dc88d71b40a8b20ecaf32ab73216_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZTo5NWI4NmM5NDAzODQ0MzEzYjI3M2E2Y2FkMGY5ZmNkMi90YWJsZXJhbmdlOjk1Yjg2Yzk0MDM4NDQzMTNiMjczYTZjYWQwZjlmY2QyXzMtMy0xLTEtMjUxMzI_1939606a-3b72-4f5a-a086-793eff211030"
      unitRef="shares">843095</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i6facb2ea99b4472f8a639ec6beebcb34_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZTo5NWI4NmM5NDAzODQ0MzEzYjI3M2E2Y2FkMGY5ZmNkMi90YWJsZXJhbmdlOjk1Yjg2Yzk0MDM4NDQzMTNiMjczYTZjYWQwZjlmY2QyXzQtMS0xLTEtMjUxMzI_4faf3536-9d95-4f48-9f28-9a86dc1bb3c0"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i95df61afa9cf43888345ba496ef14939_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZTo5NWI4NmM5NDAzODQ0MzEzYjI3M2E2Y2FkMGY5ZmNkMi90YWJsZXJhbmdlOjk1Yjg2Yzk0MDM4NDQzMTNiMjczYTZjYWQwZjlmY2QyXzQtMy0xLTEtMjUxMzI_e9730b51-1972-4e73-a047-61a150f21f83"
      unitRef="shares">4471316</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZTo5NWI4NmM5NDAzODQ0MzEzYjI3M2E2Y2FkMGY5ZmNkMi90YWJsZXJhbmdlOjk1Yjg2Yzk0MDM4NDQzMTNiMjczYTZjYWQwZjlmY2QyXzUtMS0xLTEtMjUxMzI_6ee7ad68-ddb0-4b16-aa76-736fadd08057"
      unitRef="shares">9332267</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjEvZnJhZzo2ZTg3ZDY4NTNlY2I0MTgzODJiNDE2ZmM3M2VhZmVmZS90YWJsZTo5NWI4NmM5NDAzODQ0MzEzYjI3M2E2Y2FkMGY5ZmNkMi90YWJsZXJhbmdlOjk1Yjg2Yzk0MDM4NDQzMTNiMjczYTZjYWQwZjlmY2QyXzUtMy0xLTEtMjUxMzI_ab0ad688-9732-49c5-a797-6494adaed437"
      unitRef="shares">12387995</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjQvZnJhZzpjMDA0NmFkZmEwY2Q0NDQyYTVlZGQ4YzE4NjM4ZDFmYy90ZXh0cmVnaW9uOmMwMDQ2YWRmYTBjZDQ0NDJhNWVkZDhjMTg2MzhkMWZjXzkzNDU4NDg4Mzc0MTU_db0f0ee1-3051-405a-8c33-aaff36a9573f">FAIR VALUE MEASUREMENTS&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Assets Measured and Recorded at Fair Value on a&#160;Non-Recurring&#160;Basis&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Certain&#160;non-financial&#160;assets, such as intangible assets and property, plant and equipment, are remeasured at fair value only if an impairment or observable price adjustment is recognized in the current period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments Not Recorded at Fair Value&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Financial instruments not recorded at fair value include the term loan and vendor financing arrangements. The carrying value of the vendor financing agreements was $1.1 million as of December 31, 2021. The term loan was fully repaid in November 2021. The aggregate carrying value of the term loan and vendor financing agreements was $1.9 million as of December 31, 2020. The Company&#x2019;s borrowings under its &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;term loan facility and&lt;/span&gt; vendor financing arrangements are classified within Level&#160;2 because these borrowings are not actively traded and have a variable interest rate structure based upon market rates currently available to the Company for debt with similar terms and maturities. The estimated fair values of these financial instruments approximate their carrying values</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:LongTermDebtFairValue
      contextRef="ie0dd16655b0341f9b09618be2d559d62_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjQvZnJhZzpjMDA0NmFkZmEwY2Q0NDQyYTVlZGQ4YzE4NjM4ZDFmYy90ZXh0cmVnaW9uOmMwMDQ2YWRmYTBjZDQ0NDJhNWVkZDhjMTg2MzhkMWZjXzE3MDQyNDMwMjMyMjU5_69bc8657-63b3-4207-be0b-5c57e99f52a9"
      unitRef="usd">1100000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="ie6d8a32994954801abbf017088393584_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjQvZnJhZzpjMDA0NmFkZmEwY2Q0NDQyYTVlZGQ4YzE4NjM4ZDFmYy90ZXh0cmVnaW9uOmMwMDQ2YWRmYTBjZDQ0NDJhNWVkZDhjMTg2MzhkMWZjXzE3MDQyNDMwMjMyMTgw_13e4658e-b41d-48e7-86bd-749dff5ca5be"
      unitRef="usd">1900000</us-gaap:LongTermDebtFairValue>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90ZXh0cmVnaW9uOmM3ZjEzMGFiZjg2MjQzNGI5YzhhMTRhNGFiNTY0MDJiXzkzNDU4NDg4MzcxOTI_bc67097f-c988-4e6e-a86a-88508995ae97">INTANGIBLE ASSETS AND GOODWILL&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Intangible assets, net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Intangible assets, net consisted of the following as of December&#160;31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:58.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Fair Value&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Developed technology&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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,700&#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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(368)&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 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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer relationships&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(149)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;IPR&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Trade name and other&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total intangibles&lt;/span&gt;&lt;/div&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,476&#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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(517)&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,959&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Intangible assets, net consisted of the following as of December&#160;31, 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:58.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Fair Value&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Developed technology&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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,700&#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 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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(28)&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 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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer relationships&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;IPR&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Trade name&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:'Arial',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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total intangibles&lt;/span&gt;&lt;/div&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,450&#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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41)&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,409&#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="display:none"/&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="text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Amortization expense of intangible assets was $0.5 million and less than $0.1 million for the years ended December&#160;31, 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="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The expected future amortization expense of these intangible assets as of December&#160;31, 2021 is as follows (in thousands)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&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:78.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.900%"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;478&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;478&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;449&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026 and thereafter &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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;400&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future amortization expense&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,283&#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&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill&lt;/span&gt;&lt;/div&gt;As of December&#160;31, 2021 and 2020, goodwill was $2.7 million. No goodwill impairments were recorded during the years ended December&#160;31, 2021 and 2020.</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90ZXh0cmVnaW9uOmM3ZjEzMGFiZjg2MjQzNGI5YzhhMTRhNGFiNTY0MDJiXzQ5NDc4MDIzMjYwOTQ_49ec3af9-70c9-489e-82f3-6ddd78f509a6">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Intangible assets, net consisted of the following as of December&#160;31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:58.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Fair Value&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Developed technology&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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,700&#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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(368)&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 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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer relationships&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(149)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;IPR&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Trade name and other&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total intangibles&lt;/span&gt;&lt;/div&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,476&#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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(517)&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,959&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Intangible assets, net consisted of the following as of December&#160;31, 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:58.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Fair Value&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Developed technology&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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,700&#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 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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(28)&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 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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer relationships&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;IPR&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Trade name&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:'Arial',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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total intangibles&lt;/span&gt;&lt;/div&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,450&#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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41)&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,409&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90ZXh0cmVnaW9uOmM3ZjEzMGFiZjg2MjQzNGI5YzhhMTRhNGFiNTY0MDJiXzQ5NDc4MDIzMjYwOTQ_512ec581-7312-4be6-8759-1f8038bc362f">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Intangible assets, net consisted of the following as of December&#160;31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:58.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Fair Value&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Developed technology&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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,700&#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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(368)&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 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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer relationships&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(149)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;IPR&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Trade name and other&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total intangibles&lt;/span&gt;&lt;/div&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,476&#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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(517)&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,959&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Intangible assets, net consisted of the following as of December&#160;31, 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:58.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Fair Value&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Developed technology&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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,700&#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 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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(28)&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 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:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Customer relationships&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;IPR&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Trade name&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:'Arial',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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total intangibles&lt;/span&gt;&lt;/div&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,450&#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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41)&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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,409&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i174b88469f8142e9ba1c6fa0e0e93b79_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzItMS0xLTEtMzk1NTI_4ab90ebd-de4e-45fd-b144-684f8e38c5d0"
      unitRef="usd">1700000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i174b88469f8142e9ba1c6fa0e0e93b79_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzItMi0xLTEtMzk2MzY_4455e773-a635-476c-9eef-472b99f1cbc0"
      unitRef="usd">368000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i174b88469f8142e9ba1c6fa0e0e93b79_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzItMy0xLTEtMzk2MzY_bd55ca98-9138-4b1a-9106-1026890623bd"
      unitRef="usd">1332000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iaf426f7952f24ca1a645190d7821e3be_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzMtMS0xLTEtMzk1NTI_25d61e12-5af0-49ab-9369-512c3c5c29ed"
      unitRef="usd">1100000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iaf426f7952f24ca1a645190d7821e3be_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzMtMi0xLTEtMzk2MzY_3e1aad4c-f8aa-45dc-a7fe-e29fffd74565"
      unitRef="usd">149000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iaf426f7952f24ca1a645190d7821e3be_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzMtMy0xLTEtMzk2MzY_c46c91ee-5ce0-4684-a464-534a5ca171cb"
      unitRef="usd">951000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="idbf661dfd6d840a38a214541758e1adf_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzQtMS0xLTEtMzk1NTI_b243c9d1-cc81-44db-93be-d9ba5c69f651"
      unitRef="usd">500000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="idbf661dfd6d840a38a214541758e1adf_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzQtMy0xLTEtMzk2MzY_e83f53b5-0c63-4b8c-b1a0-64f65908ad38"
      unitRef="usd">500000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i49d04ea408ff42008e7e72ef17ef6b79_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzUtMS0xLTEtMzk1NTI_0e6da6e4-0c87-4d63-b2c3-7b2357733337"
      unitRef="usd">176000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i49d04ea408ff42008e7e72ef17ef6b79_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzUtMy0xLTEtMzk2MzY_22fa31c9-cca3-49c1-b9a6-cc92ba4dd5b0"
      unitRef="usd">176000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzYtMS0xLTEtMzk1NTI_5502ec8d-700d-409a-b305-3da838c09975"
      unitRef="usd">3476000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzYtMi0xLTEtMzk2MzY_50ffd7d5-a70f-45c7-96a2-9e5e2c6acc56"
      unitRef="usd">517000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTpmZDRkYzU3ODQ2YmY0MWJjYjBkMzg3ZGZkM2RjNDI3ZS90YWJsZXJhbmdlOmZkNGRjNTc4NDZiZjQxYmNiMGQzODdkZmQzZGM0MjdlXzYtMy0xLTEtMzk2MzY_f523ff47-4042-4c11-8cb6-b3f71897b3b7"
      unitRef="usd">2959000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ia71e05c8e6284358be79f82ff539097e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzEtMS0xLTEtMzk2NDY_52b7e5be-fd7a-444f-ac57-fbda823e23c3"
      unitRef="usd">1700000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ia71e05c8e6284358be79f82ff539097e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzEtMi0xLTEtMzk2NDY_44c3a1ab-abf8-44d3-b713-ec3fcf216636"
      unitRef="usd">28000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ia71e05c8e6284358be79f82ff539097e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzEtMy0xLTEtMzk2NDY_797bf73b-f3b0-4ff4-ac1b-6f58db424adc"
      unitRef="usd">1672000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i514be6d2885046238088e0ed93542458_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzItMS0xLTEtMzk2NDY_e4694c32-c04c-415a-866f-82db104cb13e"
      unitRef="usd">1100000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i514be6d2885046238088e0ed93542458_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzItMi0xLTEtMzk2NDY_4334be20-0222-4916-be79-34cddb7676b3"
      unitRef="usd">13000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i514be6d2885046238088e0ed93542458_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzItMy0xLTEtMzk2NDY_c6f8499a-ef17-4e8c-af89-bf9d45d357f9"
      unitRef="usd">1087000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ie313f07cf55a41718bc7dad551143a25_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzMtMS0xLTEtMzk2NDY_b1899d53-1f3a-4628-9bd6-10e3e2b20462"
      unitRef="usd">500000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ie313f07cf55a41718bc7dad551143a25_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzMtMy0xLTEtMzk2NDY_5b2e90e5-3108-4f4c-a949-483b699e4eed"
      unitRef="usd">500000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i38d712f2a36c4f07b3f80c3f26e3a636_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzQtMS0xLTEtMzk2NDY_cbe468ad-bfd1-4788-b777-7b8f998207a7"
      unitRef="usd">150000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i38d712f2a36c4f07b3f80c3f26e3a636_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzQtMy0xLTEtMzk2NDY_5ccc99b2-bf4f-4c47-acec-0d3d0c28a7fa"
      unitRef="usd">150000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzUtMS0xLTEtMzk2NDY_fc9cc350-9a39-4967-88ed-1da41cde088f"
      unitRef="usd">3450000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzUtMi0xLTEtMzk2NDY_c95038e2-183e-4b79-81b3-65686c0f3223"
      unitRef="usd">41000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTo5Y2QzNTM1ZTgzYWU0MmIxYTg0OTJhZDllZjYzODBlMi90YWJsZXJhbmdlOjljZDM1MzVlODNhZTQyYjFhODQ5MmFkOWVmNjM4MGUyXzUtMy0xLTEtMzk2NDY_fb5dc5db-7472-4837-93e3-f200f8914ea2"
      unitRef="usd">3409000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90ZXh0cmVnaW9uOmM3ZjEzMGFiZjg2MjQzNGI5YzhhMTRhNGFiNTY0MDJiXzEwOTk1MTE2Mjg4MjI_0c10539d-1ff9-40a3-a54f-75e781b5629e"
      unitRef="usd">500000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90ZXh0cmVnaW9uOmM3ZjEzMGFiZjg2MjQzNGI5YzhhMTRhNGFiNTY0MDJiXzEwOTk1MTE2Mjg4MTQ_85cabe67-ff84-4c68-a05f-6ca1d145ec8c"
      unitRef="usd">100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90ZXh0cmVnaW9uOmM3ZjEzMGFiZjg2MjQzNGI5YzhhMTRhNGFiNTY0MDJiXzQ5NDc4MDIzMjY2NDM_88dbe594-07c6-4505-a1ca-69ddefd09c5d">&lt;div style="text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The expected future amortization expense of these intangible assets as of December&#160;31, 2021 is as follows (in thousands)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&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:78.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.900%"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;478&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;478&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;449&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026 and thereafter &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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;400&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future amortization expense&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,283&#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:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTplNDExY2FkYTQzY2E0MWJkYTgxNTk5N2M5YWFhZTVkNC90YWJsZXJhbmdlOmU0MTFjYWRhNDNjYTQxYmRhODE1OTk3YzlhYWFlNWQ0XzAtMS0xLTEtMzk0ODY_4fa2b290-446a-4591-80ce-baca8731da08"
      unitRef="usd">478000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTplNDExY2FkYTQzY2E0MWJkYTgxNTk5N2M5YWFhZTVkNC90YWJsZXJhbmdlOmU0MTFjYWRhNDNjYTQxYmRhODE1OTk3YzlhYWFlNWQ0XzEtMS0xLTEtMzk0ODY_bc293b76-f94f-45c5-a672-74df757c8868"
      unitRef="usd">478000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTplNDExY2FkYTQzY2E0MWJkYTgxNTk5N2M5YWFhZTVkNC90YWJsZXJhbmdlOmU0MTFjYWRhNDNjYTQxYmRhODE1OTk3YzlhYWFlNWQ0XzItMS0xLTEtMzk0ODY_025601f1-527b-48bb-8060-abffca1d9004"
      unitRef="usd">478000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTplNDExY2FkYTQzY2E0MWJkYTgxNTk5N2M5YWFhZTVkNC90YWJsZXJhbmdlOmU0MTFjYWRhNDNjYTQxYmRhODE1OTk3YzlhYWFlNWQ0XzMtMS0xLTEtMzk0ODY_9427385d-d99c-4cc5-8ea1-ca7a69c1c86c"
      unitRef="usd">449000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <aip:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTplNDExY2FkYTQzY2E0MWJkYTgxNTk5N2M5YWFhZTVkNC90YWJsZXJhbmdlOmU0MTFjYWRhNDNjYTQxYmRhODE1OTk3YzlhYWFlNWQ0XzQtMS0xLTEtMzk0ODY_440519c6-608d-4108-ad32-2b7bf2df5211"
      unitRef="usd">400000</aip:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90YWJsZTplNDExY2FkYTQzY2E0MWJkYTgxNTk5N2M5YWFhZTVkNC90YWJsZXJhbmdlOmU0MTFjYWRhNDNjYTQxYmRhODE1OTk3YzlhYWFlNWQ0XzUtMS0xLTEtMzk0ODY_249f4d71-b624-43d4-aa53-d3419565e1e5"
      unitRef="usd">2283000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:Goodwill
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90ZXh0cmVnaW9uOmM3ZjEzMGFiZjg2MjQzNGI5YzhhMTRhNGFiNTY0MDJiXzEwOTk1MTE2Mjg4MjU_09256340-8e5d-4df7-94fa-87ed66e83fb0"
      unitRef="usd">2700000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90ZXh0cmVnaW9uOmM3ZjEzMGFiZjg2MjQzNGI5YzhhMTRhNGFiNTY0MDJiXzEwOTk1MTE2Mjg4MjU_462b4931-b6f5-4276-933d-bec0859fc071"
      unitRef="usd">2700000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90ZXh0cmVnaW9uOmM3ZjEzMGFiZjg2MjQzNGI5YzhhMTRhNGFiNTY0MDJiXzEwOTk1MTE2Mjg4NDc_0634b610-495a-487f-928c-4498e17a16d8"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMjcvZnJhZzpjN2YxMzBhYmY4NjI0MzRiOWM4YTE0YTRhYjU2NDAyYi90ZXh0cmVnaW9uOmM3ZjEzMGFiZjg2MjQzNGI5YzhhMTRhNGFiNTY0MDJiXzEwOTk1MTE2Mjg4NDc_88001669-c64d-4576-b2c6-00385ba24c66"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzQ5NDc4MDIzMjYyODA_91326d3f-5e21-499a-ad08-70e00e32fec0">BALANCE SHEET COMPONENTS&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable, net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table represents the components of accounts receivable, net, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accounts receivable&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13,674&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13,927&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Unbilled accounts receivable&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total accounts receivable&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14,183&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14,739&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Less: allowance for doubtful accounts and allowance for foreign withholding tax&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(310)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(389)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total accounts receivable, net&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13,873&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The allowance for doubtful accounts was $0.3 million as of both December&#160;31, 2021 and 2020. The allowance for foreign withholding tax was nil and $0.1 million as of December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Prepaid Expenses and Other Current Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Prepaid expenses and other current assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Research tax credit&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,828&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;523&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Capitalized commissions asset, 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Contract assets&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Software &amp;amp; subscriptions&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;810&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total prepaid expenses and other current assets&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,949&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,858&#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 style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment, net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Property and equipment consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Software and technology equipment&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,067&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,209&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Office furniture and hardware 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Leasehold improvements&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Vehicles&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Finance lease right-of-use assets&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Less: accumulated depreciation and amortization&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(2,236)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,229)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total property and equipment&#x2014;net&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,438&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,365&#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 style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Depreciation and amortization expenses related to property and equipment for the years ended December&#160;31, 2021 and 2020, was $1.0 million and $0.9 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Other Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Other assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Capitalized commissions asset, net&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,576&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,479&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Contract 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Security deposits&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Capitalized third party commissions asset, 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total other assets&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,957&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,580&#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 style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accrued Expenses and Other Current Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accrued expenses and other current liabilities consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Payroll and related benefits&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,616&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,303&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Deferred and contingent consideration&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accrued professional fees&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Other 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total accrued expenses and other current liabilities&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10,573&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Other Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Other liabilities consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Contingent consideration&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,269&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,268&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Pension accrual&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total other liabilities&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,157&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,986&#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:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzQ5NDc4MDIzMjYyODE_abde92b4-079b-4762-8baa-4b90a0fe53b5">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table represents the components of accounts receivable, net, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accounts receivable&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13,674&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13,927&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Unbilled accounts receivable&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total accounts receivable&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14,183&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14,739&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Less: allowance for doubtful accounts and allowance for foreign withholding tax&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(310)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(389)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total accounts receivable, net&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13,873&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14,350&#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:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i74ec8353cd294e5bb506e16c5e8a870c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTowNjUxOTQxZGQyMTY0ZGJjYjc4MzUwNTllODRmNjhjMS90YWJsZXJhbmdlOjA2NTE5NDFkZDIxNjRkYmNiNzgzNTA1OWU4NGY2OGMxXzItMS0xLTEtMjUxMzI_694f0dc5-0a35-4a1c-a7e5-db8e2597085c"
      unitRef="usd">13674000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="ic11a5e42f4f744ad96a1ca9362095f90_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTowNjUxOTQxZGQyMTY0ZGJjYjc4MzUwNTllODRmNjhjMS90YWJsZXJhbmdlOjA2NTE5NDFkZDIxNjRkYmNiNzgzNTA1OWU4NGY2OGMxXzItMy0xLTEtMjUxMzI_406e6623-55b6-41c2-ad3c-8d0f2e4f6686"
      unitRef="usd">13927000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i4a42638650714b89bdb330f2e7b20d4e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTowNjUxOTQxZGQyMTY0ZGJjYjc4MzUwNTllODRmNjhjMS90YWJsZXJhbmdlOjA2NTE5NDFkZDIxNjRkYmNiNzgzNTA1OWU4NGY2OGMxXzMtMS0xLTEtMjUxMzI_6456588f-cda8-496c-88e9-6c0bf2a23658"
      unitRef="usd">509000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i8b1c9a1b33604535afc48c16ca80445d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTowNjUxOTQxZGQyMTY0ZGJjYjc4MzUwNTllODRmNjhjMS90YWJsZXJhbmdlOjA2NTE5NDFkZDIxNjRkYmNiNzgzNTA1OWU4NGY2OGMxXzMtMy0xLTEtMjUxMzI_bcf2552e-14fb-4ecb-ae74-04a3fe309118"
      unitRef="usd">812000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTowNjUxOTQxZGQyMTY0ZGJjYjc4MzUwNTllODRmNjhjMS90YWJsZXJhbmdlOjA2NTE5NDFkZDIxNjRkYmNiNzgzNTA1OWU4NGY2OGMxXzQtMS0xLTEtMjUxMzI_c46102c5-3ea0-4d21-8973-8cc5df9ccd4a"
      unitRef="usd">14183000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTowNjUxOTQxZGQyMTY0ZGJjYjc4MzUwNTllODRmNjhjMS90YWJsZXJhbmdlOjA2NTE5NDFkZDIxNjRkYmNiNzgzNTA1OWU4NGY2OGMxXzQtMy0xLTEtMjUxMzI_d902e5d1-86bc-4293-9eed-fd71c1faab5a"
      unitRef="usd">14739000</us-gaap:AccountsReceivableGrossCurrent>
    <aip:AccountsReceivableAllowanceForCreditLossAndForeignTaxWithholdingCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTowNjUxOTQxZGQyMTY0ZGJjYjc4MzUwNTllODRmNjhjMS90YWJsZXJhbmdlOjA2NTE5NDFkZDIxNjRkYmNiNzgzNTA1OWU4NGY2OGMxXzUtMS0xLTEtMjUxMzI_6962d341-5294-469e-9c9d-62d87d3285cd"
      unitRef="usd">310000</aip:AccountsReceivableAllowanceForCreditLossAndForeignTaxWithholdingCurrent>
    <aip:AccountsReceivableAllowanceForCreditLossAndForeignTaxWithholdingCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTowNjUxOTQxZGQyMTY0ZGJjYjc4MzUwNTllODRmNjhjMS90YWJsZXJhbmdlOjA2NTE5NDFkZDIxNjRkYmNiNzgzNTA1OWU4NGY2OGMxXzUtMy0xLTEtMjUxMzI_f5aacc95-1e3d-402f-999d-06d0ad63eb7e"
      unitRef="usd">389000</aip:AccountsReceivableAllowanceForCreditLossAndForeignTaxWithholdingCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTowNjUxOTQxZGQyMTY0ZGJjYjc4MzUwNTllODRmNjhjMS90YWJsZXJhbmdlOjA2NTE5NDFkZDIxNjRkYmNiNzgzNTA1OWU4NGY2OGMxXzYtMS0xLTEtMjUxMzI_60e70390-73b1-43b4-9102-8f912ff70fee"
      unitRef="usd">13873000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTowNjUxOTQxZGQyMTY0ZGJjYjc4MzUwNTllODRmNjhjMS90YWJsZXJhbmdlOjA2NTE5NDFkZDIxNjRkYmNiNzgzNTA1OWU4NGY2OGMxXzYtMy0xLTEtMjUxMzI_70570a9a-ab33-4dbe-aced-1ad6c3ade759"
      unitRef="usd">14350000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzIwNw_33581a7f-5f11-4cdb-a712-32f2fb9bce1a"
      unitRef="usd">300000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzIwNw_5d4c5173-451f-472c-a5fe-943239044405"
      unitRef="usd">300000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <aip:AccountsReceivableAllowanceForForeignWithholdingTaxCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzQ5NDc4MDIzMjY0NzU_4409c181-3a9d-4026-a910-ec201d1f4a4a"
      unitRef="usd">0</aip:AccountsReceivableAllowanceForForeignWithholdingTaxCurrent>
    <aip:AccountsReceivableAllowanceForForeignWithholdingTaxCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzEwOTk1MTE2MjkwMjI_50e56bc0-fefa-47a9-bd63-5ee1a1e595a6"
      unitRef="usd">100000</aip:AccountsReceivableAllowanceForForeignWithholdingTaxCurrent>
    <us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzQ5NDc4MDIzMjYyODI_02608252-0847-4661-b19d-d44d5539eea9">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Prepaid expenses and other current assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Research tax credit&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,828&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;523&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Capitalized commissions asset, 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Contract assets&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Software &amp;amp; subscriptions&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;810&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total prepaid expenses and other current assets&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,949&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,858&#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:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock>
    <us-gaap:PrepaidTaxes
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzItMS0xLTEtMjUxMzI_2b23eac7-aa04-4a8c-a8c4-4ae052a8a2c0"
      unitRef="usd">2828000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzItMy0xLTEtMjUxMzI_bb06fd1c-42f5-4cdd-96a6-883422282010"
      unitRef="usd">523000</us-gaap:PrepaidTaxes>
    <us-gaap:CapitalizedContractCostNetCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzMtMS0xLTEtMjUxMzI_421ce702-0c1a-46c3-9be1-618e919d5c52"
      unitRef="usd">2289000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:CapitalizedContractCostNetCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzMtMy0xLTEtMjUxMzI_115818d8-877d-4d2d-967f-59eab28e61f7"
      unitRef="usd">1079000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzQtMS0xLTEtMjUxMzI_f00b6f6c-7cda-4d61-ae29-ee7b6c0a36a4"
      unitRef="usd">634000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzQtMy0xLTEtMjUxMzI_1ff9f28a-76ad-4d2c-9994-a12165c3afc5"
      unitRef="usd">551000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <aip:PrepaidSoftwareAndSubscriptions
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzUtMS0xLTEtMjUxMzI_9b71ebc0-bcfe-4183-9700-1deb837a9df1"
      unitRef="usd">388000</aip:PrepaidSoftwareAndSubscriptions>
    <aip:PrepaidSoftwareAndSubscriptions
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzUtMy0xLTEtMjUxMzI_01db9cc6-ff8e-4505-ba4b-86bcf1fbc5b9"
      unitRef="usd">158000</aip:PrepaidSoftwareAndSubscriptions>
    <us-gaap:OtherPrepaidExpenseCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzYtMS0xLTEtMjUxMzI_02a07608-b293-49a9-96c3-db8aa03b190e"
      unitRef="usd">810000</us-gaap:OtherPrepaidExpenseCurrent>
    <us-gaap:OtherPrepaidExpenseCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzYtMy0xLTEtMjUxMzI_bdc6c54a-9b24-4d18-a1db-643aa8928a21"
      unitRef="usd">547000</us-gaap:OtherPrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzctMS0xLTEtMjUxMzI_8bc2cdcf-6db6-4e7b-81ad-9182349ad48e"
      unitRef="usd">6949000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiYzQwODc2YWViZDM0YjRiYTNjOTc1MzRjMzczMTE5YS90YWJsZXJhbmdlOmJjNDA4NzZhZWJkMzRiNGJhM2M5NzUzNGMzNzMxMTlhXzctMy0xLTEtMjUxMzI_06fb2346-b856-4d53-af30-49e9301cb147"
      unitRef="usd">2858000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzQ5NDc4MDIzMjYyODM_70ab4e24-ce1c-4799-a683-f416f7309f3b">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Property and equipment consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Software and technology equipment&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,067&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,209&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Office furniture and hardware 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Leasehold improvements&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Vehicles&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Finance lease right-of-use assets&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Less: accumulated depreciation and amortization&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(2,236)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,229)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total property and equipment&#x2014;net&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,438&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,365&#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:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i520d4b04da43468a859e23b200e9c8b1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzItMS0xLTEtMjUxMzI_50892e0b-1946-48a0-b19c-24ea40d71b5b"
      unitRef="usd">4067000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i4f600ffc360b4a3cb2e9158f0ba6defc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzItMy0xLTEtMjUxMzI_fc2e1470-e1bb-41f3-9f2a-08ae94434592"
      unitRef="usd">3209000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i07a503cb9c964d0c98e86d02b28f9f38_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzMtMS0xLTEtMjUxMzI_4d35d6e2-7b9e-4d39-acbd-da5c3bb4603c"
      unitRef="usd">305000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ifa88237cfecf411f9d1f507ecccd982b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzMtMy0xLTEtMjUxMzI_cc343fb8-a2c4-4719-855e-64f9eb37fe27"
      unitRef="usd">271000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ib8d9078da5944bb0a9f74802a70c44d8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzQtMS0xLTEtMjUxMzI_7183cb2b-b121-4265-8f16-c3318ab1e088"
      unitRef="usd">295000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i6ea1d6294cce468693972499d823e6d8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzQtMy0xLTEtMjUxMzI_b9803c0f-cbb3-4b43-a31a-2779e6859823"
      unitRef="usd">100000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i317c9ec94e234a1d8aae6295d6d24cdf_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzUtMS0xLTEtMjUxMzI_7a9e6553-dceb-4d5e-b86b-0ade8f848c86"
      unitRef="usd">7000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i81c7c97c82f041b1825c41076b25444b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzUtMy0xLTEtMjUxMzI_89eac16d-746e-4c3b-9aa2-071ae0eee9a0"
      unitRef="usd">7000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzYtMS0xLTEtMjUxMzI_2b7db1c6-175d-425e-9c28-fbd181ca1701"
      unitRef="usd">0</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzYtMy0xLTEtMjUxMzI_6e70c544-940e-4a8c-86ac-ef64dcd23887"
      unitRef="usd">7000</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzctMS0xLTEtMjUxMzI_6f5937c4-64d4-4a09-ae43-4cd452e7ddb1"
      unitRef="usd">4674000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzctMy0xLTEtMjUxMzI_a431a5be-e07a-4f4d-bfd2-be906ab4ea08"
      unitRef="usd">3594000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzgtMS0xLTEtMjUxMzI_5cdd3424-a8d2-44e0-a546-b8e93555b3ce"
      unitRef="usd">2236000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzgtMy0xLTEtMjUxMzI_ccebf455-5cbc-4e71-9b60-3e1d1743e3f2"
      unitRef="usd">1229000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzktMS0xLTEtMjUxMzI_92b87ba5-1954-4410-ae51-93797aee9b18"
      unitRef="usd">2438000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo5OTcyNTQ2NWI5NGE0NDkzODhiMTcyY2RjMTE2M2U0OS90YWJsZXJhbmdlOjk5NzI1NDY1Yjk0YTQ0OTM4OGIxNzJjZGMxMTYzZTQ5XzktMy0xLTEtMjUxMzI_486fb539-249b-496d-9a7f-357cc070f627"
      unitRef="usd">2365000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:Depreciation
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzEwOTk1MTE2MjkwMzk_5eedccef-aa0c-4c4b-8350-d5190377fe35"
      unitRef="usd">1000000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzEwOTk1MTE2MjkwNDQ_0849dfd4-bf33-43aa-9772-17a547628d69"
      unitRef="usd">900000</us-gaap:Depreciation>
    <us-gaap:ScheduleOfOtherAssetsTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzQ5NDc4MDIzMjYyODQ_a59d772a-2a93-4c0d-b509-ae3a1a2e46c0">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Other assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Capitalized commissions asset, net&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,576&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,479&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Contract 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Security deposits&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Capitalized third party commissions asset, 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total other assets&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,957&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,580&#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:ScheduleOfOtherAssetsTableTextBlock>
    <aip:CapitalizedContractCostNoncurrentNet
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzItMS0xLTEtMjUxMzI_bc82cac9-7961-4b1e-b0ba-5dd234f08d8e"
      unitRef="usd">1576000</aip:CapitalizedContractCostNoncurrentNet>
    <aip:CapitalizedContractCostNoncurrentNet
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzItMy0xLTEtMjUxMzI_6a0e1568-afb8-418c-9ae7-af98ac9f7575"
      unitRef="usd">1479000</aip:CapitalizedContractCostNoncurrentNet>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzMtMS0xLTEtMjUxMzI_7fb688cd-4807-49d5-a20d-4e626039d7df"
      unitRef="usd">852000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzMtMy0xLTEtMjUxMzI_ea581e74-5e79-42fd-adad-fe02471c71cc"
      unitRef="usd">808000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:SecurityDeposit
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzQtMS0xLTEtNDMxODU_d226b30b-4bba-43bd-9db3-219fcabe4aed"
      unitRef="usd">190000</us-gaap:SecurityDeposit>
    <us-gaap:SecurityDeposit
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzQtMy0xLTEtNDMxODU_25689863-2d46-49d0-9d81-4e9807f0b4d4"
      unitRef="usd">102000</us-gaap:SecurityDeposit>
    <aip:CapitalizedContractCostThirdPartyCommissionsNoncurrentNet
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzUtMS0xLTEtNDMxODU_7fd7311b-70b0-4de5-a4ed-e06867ce1249"
      unitRef="usd">143000</aip:CapitalizedContractCostThirdPartyCommissionsNoncurrentNet>
    <aip:CapitalizedContractCostThirdPartyCommissionsNoncurrentNet
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzUtMy0xLTEtNDMxODU_a89908fa-0e08-4fe0-8b0f-9ad59f3f540f"
      unitRef="usd">123000</aip:CapitalizedContractCostThirdPartyCommissionsNoncurrentNet>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzQtMS0xLTEtMjUxMzI_15a25725-d3be-47e9-92ad-214a46786666"
      unitRef="usd">196000</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzQtMy0xLTEtMjUxMzI_3419267d-e3f8-4372-bb88-a596a9b454a2"
      unitRef="usd">68000</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzUtMS0xLTEtMjUxMzI_4a80820d-91b6-4d4b-953b-35e2286f14a3"
      unitRef="usd">2957000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTpiMjY2ZjhhNjQ3ZjA0M2M3ODFlNjliNjA1OWM0NmQ2NS90YWJsZXJhbmdlOmIyNjZmOGE2NDdmMDQzYzc4MWU2OWI2MDU5YzQ2ZDY1XzUtMy0xLTEtMjUxMzI_a43f13ee-cc6c-4569-9882-bcf769965fef"
      unitRef="usd">2580000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzQ5NDc4MDIzMjYyODc_82bd3ece-5aa6-4446-b814-5e18d0feed5e">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accrued expenses and other current liabilities consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Payroll and related benefits&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,616&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,303&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Deferred and contingent consideration&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Accrued professional fees&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Other 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total accrued expenses and other current liabilities&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10,573&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,249&#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:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3YTFiYjYwMzZmYTk0ZjBiYTQ4OTEwM2M2YTVjZTk5OS90YWJsZXJhbmdlOjdhMWJiNjAzNmZhOTRmMGJhNDg5MTAzYzZhNWNlOTk5XzItMS0xLTEtMjUxMzI_5e20e80e-dece-455c-9001-b334079898e8"
      unitRef="usd">6616000</us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3YTFiYjYwMzZmYTk0ZjBiYTQ4OTEwM2M2YTVjZTk5OS90YWJsZXJhbmdlOjdhMWJiNjAzNmZhOTRmMGJhNDg5MTAzYzZhNWNlOTk5XzItMy0xLTEtMjUxMzI_0a9c451e-3557-4bb1-9024-87856aefe2bd"
      unitRef="usd">5303000</us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3YTFiYjYwMzZmYTk0ZjBiYTQ4OTEwM2M2YTVjZTk5OS90YWJsZXJhbmdlOjdhMWJiNjAzNmZhOTRmMGJhNDg5MTAzYzZhNWNlOTk5XzMtMS0xLTEtMjUxMzI_a43d052e-daaa-4051-9f76-1560870016a7"
      unitRef="usd">1668000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3YTFiYjYwMzZmYTk0ZjBiYTQ4OTEwM2M2YTVjZTk5OS90YWJsZXJhbmdlOjdhMWJiNjAzNmZhOTRmMGJhNDg5MTAzYzZhNWNlOTk5XzMtMy0xLTEtMjUxMzI_fbf4141a-6cba-4b93-be56-10ee5a390acf"
      unitRef="usd">1074000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3YTFiYjYwMzZmYTk0ZjBiYTQ4OTEwM2M2YTVjZTk5OS90YWJsZXJhbmdlOjdhMWJiNjAzNmZhOTRmMGJhNDg5MTAzYzZhNWNlOTk5XzQtMS0xLTEtMjUxMzI_e579a89e-75b8-4a40-a8af-81fce82acf3f"
      unitRef="usd">1292000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3YTFiYjYwMzZmYTk0ZjBiYTQ4OTEwM2M2YTVjZTk5OS90YWJsZXJhbmdlOjdhMWJiNjAzNmZhOTRmMGJhNDg5MTAzYzZhNWNlOTk5XzQtMy0xLTEtMjUxMzI_ae41dd16-2590-44f8-afb1-d52b5722a8d5"
      unitRef="usd">678000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3YTFiYjYwMzZmYTk0ZjBiYTQ4OTEwM2M2YTVjZTk5OS90YWJsZXJhbmdlOjdhMWJiNjAzNmZhOTRmMGJhNDg5MTAzYzZhNWNlOTk5XzUtMS0xLTEtMjUxMzI_cd6e937a-8e6a-4159-8bc2-4571b020ced5"
      unitRef="usd">997000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3YTFiYjYwMzZmYTk0ZjBiYTQ4OTEwM2M2YTVjZTk5OS90YWJsZXJhbmdlOjdhMWJiNjAzNmZhOTRmMGJhNDg5MTAzYzZhNWNlOTk5XzUtMy0xLTEtMjUxMzI_9b6766ce-3a79-4483-9092-b831a6e69e52"
      unitRef="usd">194000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <aip:AccruedAndOtherLiabilitiesCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3YTFiYjYwMzZmYTk0ZjBiYTQ4OTEwM2M2YTVjZTk5OS90YWJsZXJhbmdlOjdhMWJiNjAzNmZhOTRmMGJhNDg5MTAzYzZhNWNlOTk5XzYtMS0xLTEtMjUxMzI_fe745075-601e-4313-a33d-5f4b36a7318f"
      unitRef="usd">10573000</aip:AccruedAndOtherLiabilitiesCurrent>
    <aip:AccruedAndOtherLiabilitiesCurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3YTFiYjYwMzZmYTk0ZjBiYTQ4OTEwM2M2YTVjZTk5OS90YWJsZXJhbmdlOjdhMWJiNjAzNmZhOTRmMGJhNDg5MTAzYzZhNWNlOTk5XzYtMy0xLTEtMjUxMzI_16115b5c-33a6-4aac-91ed-9eb09453c5cd"
      unitRef="usd">7249000</aip:AccruedAndOtherLiabilitiesCurrent>
    <us-gaap:OtherNoncurrentLiabilitiesTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90ZXh0cmVnaW9uOmU2ZGYzY2FjZTJkNjQ4MzFiZmQ4Zjk2MGY1ZTRkZmY3XzQ5NDc4MDIzMjYyODY_126db740-3d50-46e3-825f-f1da196182ef">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Other liabilities consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;As of 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Contingent consideration&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,269&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,268&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Pension accrual&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total other liabilities&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,157&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,986&#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:OtherNoncurrentLiabilitiesTableTextBlock>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3MDlmNjc2ZTJiNTI0NmRmYWM1M2U3M2UyZWYxZTMwMC90YWJsZXJhbmdlOjcwOWY2NzZlMmI1MjQ2ZGZhYzUzZTczZTJlZjFlMzAwXzItMS0xLTEtMjUxMzI_635ad04a-adb6-473c-a320-a0468b0bdb2a"
      unitRef="usd">1269000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3MDlmNjc2ZTJiNTI0NmRmYWM1M2U3M2UyZWYxZTMwMC90YWJsZXJhbmdlOjcwOWY2NzZlMmI1MjQ2ZGZhYzUzZTczZTJlZjFlMzAwXzItMy0xLTEtMjUxMzI_a75aab08-a4b4-4b73-ac36-70017b9cd377"
      unitRef="usd">2268000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3MDlmNjc2ZTJiNTI0NmRmYWM1M2U3M2UyZWYxZTMwMC90YWJsZXJhbmdlOjcwOWY2NzZlMmI1MjQ2ZGZhYzUzZTczZTJlZjFlMzAwXzMtMS0xLTEtMjUxMzI_d894617d-03ca-4116-a390-dc95bca7bddc"
      unitRef="usd">820000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3MDlmNjc2ZTJiNTI0NmRmYWM1M2U3M2UyZWYxZTMwMC90YWJsZXJhbmdlOjcwOWY2NzZlMmI1MjQ2ZGZhYzUzZTczZTJlZjFlMzAwXzMtMy0xLTEtMjUxMzI_e65f5770-134d-4dc8-af04-346633e40d27"
      unitRef="usd">718000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:OtherSundryLiabilitiesNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3MDlmNjc2ZTJiNTI0NmRmYWM1M2U3M2UyZWYxZTMwMC90YWJsZXJhbmdlOjcwOWY2NzZlMmI1MjQ2ZGZhYzUzZTczZTJlZjFlMzAwXzQtMS0xLTEtMjUxMzI_13ad0a14-05fc-432f-acff-a4baa02518d6"
      unitRef="usd">68000</us-gaap:OtherSundryLiabilitiesNoncurrent>
    <us-gaap:OtherSundryLiabilitiesNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3MDlmNjc2ZTJiNTI0NmRmYWM1M2U3M2UyZWYxZTMwMC90YWJsZXJhbmdlOjcwOWY2NzZlMmI1MjQ2ZGZhYzUzZTczZTJlZjFlMzAwXzQtMy0xLTEtMjUxMzI_d8f6dc0a-56a0-4ccf-8b81-e99d5bb081cc"
      unitRef="usd">0</us-gaap:OtherSundryLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3MDlmNjc2ZTJiNTI0NmRmYWM1M2U3M2UyZWYxZTMwMC90YWJsZXJhbmdlOjcwOWY2NzZlMmI1MjQ2ZGZhYzUzZTczZTJlZjFlMzAwXzUtMS0xLTEtMjUxMzI_24c69323-6bab-4afb-9848-fd690d4943d0"
      unitRef="usd">2157000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzAvZnJhZzplNmRmM2NhY2UyZDY0ODMxYmZkOGY5NjBmNWU0ZGZmNy90YWJsZTo3MDlmNjc2ZTJiNTI0NmRmYWM1M2U3M2UyZWYxZTMwMC90YWJsZXJhbmdlOjcwOWY2NzZlMmI1MjQ2ZGZhYzUzZTczZTJlZjFlMzAwXzUtMy0xLTEtMjUxMzI_ca8bd0d9-2de6-4667-b3d1-ed6ca3a557e5"
      unitRef="usd">2986000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:AssetAcquisitionTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90ZXh0cmVnaW9uOjRjMGI5MDM5YjRmOTQ4ZTg5MTZjMzU4YzBhMDk5Y2NiXzQ5NDc4MDIzMzM2NTE_b510e919-67af-4e17-ae47-8d72e1e19b08">ACQUISITION&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;On November&#160;30, 2020, the Company, through Arteris IP SAS, its wholly owned subsidiary, completed the acquisition of Magillem Design Services SA (Magillem), by acquiring certain assets and assumed liabilities of Magillem in an&#160;all-cash&#160;transaction to expand the Company&#x2019;s IP deployment technology. Magillem is a leading provider of complex design flow and content management software solutions. In accordance with the terms of the asset purchase agreement, the consideration transferred for the acquisition is as follows (in thousands).&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:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NOVEMBER 30,&lt;br/&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Cash consideration paid at closing&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,500&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Deferred consideration&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Estimated contingent consideration&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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 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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,842&#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 style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The deferred consideration represents a consideration holdback, in connection with a separate arrangement between Magillem and a third party, which was settled after the acquisition. The estimated contingent consideration represents the fair value of additional consideration payable to the seller upon (a)&#160;the achievement of specified milestones, estimated using the income approach and (b)&#160;in relation to potential indemnity claims. The contingent consideration payments are tied to a number of metrics, including claims received by the Company and certain product development, customer and revenue metrics in the next &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90ZXh0cmVnaW9uOjRjMGI5MDM5YjRmOTQ4ZTg5MTZjMzU4YzBhMDk5Y2NiXzE3MDQyNDMwMjQzNzEz_d8cca953-8772-4fb6-819f-955c0a0cf795"&gt;one&lt;/span&gt; to three years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company incurred acquisition-related expenses associated with the Magillem transaction in a total amount of $1.4 million, which were included in general and administrative expenses in the consolidated statements of income (loss). These acquisition-related costs included legal, accounting, and other professional and consulting fees.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Additionally, in connection with the acquisition of Magillem, the Company issued 0.6&#160;million RSUs and 0.6&#160;million stock options to Magillem employees that transferred to us, all of which vest over four years from the date of acquisition of Magillem. These awards have been accounted for separately from the business combination and are recognized by the Company as compensation cost.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The acquisition of Magillem has been accounted for in accordance with the acquisition method of accounting for business combinations with the Company, as the accounting acquirer. Under the acquisition method of accounting, the purchase price is allocated to identifiable assets acquired and liabilities assumed based on their fair values on the acquisition date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table provides the estimated fair values of the identifiable assets acquired and liabilities assumed as of the acquisition date (in thousands):&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:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;FAIR&#160;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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Accounts receivable&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;968&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Unbilled revenue&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Intangible assets&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Operating lease&#160;right-of-use&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Other assets&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Operating lease liability&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,222)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Other liabilities&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,244)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total identifiable net assets&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,165&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Goodwill&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,677&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total purchase price&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,842&#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="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes the fair value of the identifiable intangible assets acquired (in thousands) and weighted-average useful life:&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#160;&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;&#160;&#160;&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;WEIGHTED&lt;br/&gt;AVERAGE&lt;br/&gt;USEFUL LIFE&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Developed Technology&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,700&#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="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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Customer Relationships&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;8 years&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;IPR&amp;amp;D&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Trade Name&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;N/A&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Estimated fair value of intangible assets&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,450&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Goodwill generated from this business combination is attributed to synergies between the Company&#x2019;s and Magillem&#x2019;s respective products and services, and it is not tax deductible for income tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table provides unaudited pro forma condensed consolidated results of operations information for the year ended December 31, 2020 assuming the Magillem acquisition was completed as of January&#160;1, 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;PRO FORMA&lt;br/&gt;COMBINED&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total revenue&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39,726&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Net loss&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(4,456)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Net loss attributable to common stockholders&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(4,456)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Net loss per share attributable to common stockholders&#x2014;basic and diluted&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(0.25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The unaudited pro forma results above include adjustments related to the purchase price allocation primarily to decrease revenue for amortization of the deferred revenue fair value adjustment, to increase amortization of identifiable intangible assets, to increase the&#160;non-recurring&#160;transaction costs, and to reflect the related income tax effect of the adjustments. The unaudited pro forma condensed combined financial information has been prepared by management for illustrative purposes only and are not necessarily indicative of the consolidated financial position or results of operations in future periods or the results that would have been realized had the Company and Magillem been combined during the specified period. The unaudited pro forma condensed combined financial information does not reflect any operating efficiencies and/or cost savings that the Company may achieve with respect to the combined companies, or any liabilities that may result from integration activities.&lt;/span&gt;&lt;/div&gt;</us-gaap:AssetAcquisitionTextBlock>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90ZXh0cmVnaW9uOjRjMGI5MDM5YjRmOTQ4ZTg5MTZjMzU4YzBhMDk5Y2NiXzQ5NDc4MDIzNDMxMTI_8d306e87-e489-47ba-b75d-0556f8fa52ed">In accordance with the terms of the asset purchase agreement, the consideration transferred for the acquisition is as follows (in thousands).&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:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NOVEMBER 30,&lt;br/&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Cash consideration paid at closing&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,500&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Deferred consideration&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Estimated contingent consideration&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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 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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,842&#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;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i8eaba711f1e64cf19b6fbbdc95ba4617_D20201130-20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTplNTk3ZjM5YWE2OWI0MTNiYjZjZjI0YzlmNGVhMGQ2Zi90YWJsZXJhbmdlOmU1OTdmMzlhYTY5YjQxM2JiNmNmMjRjOWY0ZWEwZDZmXzItMS0xLTEtNDc4ODQ_1e2baa2e-9178-45ca-92cf-eea584b49d5b"
      unitRef="usd">4500000</us-gaap:PaymentsToAcquireBusinessesGross>
    <aip:BusinessCombinationDeferredConsiderationLiability
      contextRef="i8eaba711f1e64cf19b6fbbdc95ba4617_D20201130-20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTplNTk3ZjM5YWE2OWI0MTNiYjZjZjI0YzlmNGVhMGQ2Zi90YWJsZXJhbmdlOmU1OTdmMzlhYTY5YjQxM2JiNmNmMjRjOWY0ZWEwZDZmXzMtMS0xLTEtNDc4ODQ_001dba0c-4e7d-4bf7-8897-3310e95ce22b"
      unitRef="usd">500000</aip:BusinessCombinationDeferredConsiderationLiability>
    <aip:BusinessCombinationEstimatedContingentConsiderationLiability
      contextRef="i8eaba711f1e64cf19b6fbbdc95ba4617_D20201130-20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTplNTk3ZjM5YWE2OWI0MTNiYjZjZjI0YzlmNGVhMGQ2Zi90YWJsZXJhbmdlOmU1OTdmMzlhYTY5YjQxM2JiNmNmMjRjOWY0ZWEwZDZmXzQtMS0xLTEtNDc4ODQ_257702a2-c5c1-41c1-bc32-251476645820"
      unitRef="usd">2842000</aip:BusinessCombinationEstimatedContingentConsiderationLiability>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i8eaba711f1e64cf19b6fbbdc95ba4617_D20201130-20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTplNTk3ZjM5YWE2OWI0MTNiYjZjZjI0YzlmNGVhMGQ2Zi90YWJsZXJhbmdlOmU1OTdmMzlhYTY5YjQxM2JiNmNmMjRjOWY0ZWEwZDZmXzUtMS0xLTEtNDc4ODQ_d7ff6c40-c92c-4410-bed2-ac7320d7adc3"
      unitRef="usd">7842000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <aip:BusinessCombinationContingentConsiderationPaymentMetricsPeriod
      contextRef="i5db42eb903e747cb8bb1a70989f13c5c_D20201130-20201130"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90ZXh0cmVnaW9uOjRjMGI5MDM5YjRmOTQ4ZTg5MTZjMzU4YzBhMDk5Y2NiXzE3MDQyNDMwMjQzNzIw_fd7dbd02-51ea-44ff-803f-cb127c83dafb">P3Y</aip:BusinessCombinationContingentConsiderationPaymentMetricsPeriod>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="i8eaba711f1e64cf19b6fbbdc95ba4617_D20201130-20201130"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90ZXh0cmVnaW9uOjRjMGI5MDM5YjRmOTQ4ZTg5MTZjMzU4YzBhMDk5Y2NiXzE3MDQyNDMwMjQzODM5_07bde79f-16fb-49fb-8b1b-dbf8c7b1051d"
      unitRef="usd">1400000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="id25fb33e8c394c3193bb529e31d91aac_D20201130-20201130"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90ZXh0cmVnaW9uOjRjMGI5MDM5YjRmOTQ4ZTg5MTZjMzU4YzBhMDk5Y2NiXzE1ODY_f10113e9-4f13-4ff8-abc3-0dbe08d674fd"
      unitRef="shares">600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i7be6bd8aa9a744d7b65fc3535584bfb9_D20201130-20201130"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90ZXh0cmVnaW9uOjRjMGI5MDM5YjRmOTQ4ZTg5MTZjMzU4YzBhMDk5Y2NiXzE1OTg_a8f75b5d-ef9b-4a01-805c-42f38d94dcd3"
      unitRef="shares">600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8eaba711f1e64cf19b6fbbdc95ba4617_D20201130-20201130"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90ZXh0cmVnaW9uOjRjMGI5MDM5YjRmOTQ4ZTg5MTZjMzU4YzBhMDk5Y2NiXzE2ODQ_117b3dc8-c977-4238-8198-300464d93a82">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90ZXh0cmVnaW9uOjRjMGI5MDM5YjRmOTQ4ZTg5MTZjMzU4YzBhMDk5Y2NiXzQ5NDc4MDIzNDMxMTE_af29a1dc-6a78-4ee4-9e1c-d1fb6e547beb">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table provides the estimated fair values of the identifiable assets acquired and liabilities assumed as of the acquisition date (in thousands):&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:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;FAIR&#160;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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Accounts receivable&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;968&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Unbilled revenue&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Intangible assets&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Operating lease&#160;right-of-use&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Other assets&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Operating lease liability&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,222)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Other liabilities&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,244)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total identifiable net assets&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,165&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Goodwill&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,677&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total purchase price&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,842&#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="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes the fair value of the identifiable intangible assets acquired (in thousands) and weighted-average useful life:&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#160;&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;&#160;&#160;&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;WEIGHTED&lt;br/&gt;AVERAGE&lt;br/&gt;USEFUL LIFE&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Developed Technology&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,700&#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="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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Customer Relationships&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;8 years&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;IPR&amp;amp;D&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Trade Name&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;N/A&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Estimated fair value of intangible assets&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,450&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i41819c4d247144f4950800bdda79bcfe_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4NTE5YmMzOTk1YzY0MzYwYTJkNDEwYzYwYjFhMTc0OC90YWJsZXJhbmdlOjg1MTliYzM5OTVjNjQzNjBhMmQ0MTBjNjBiMWExNzQ4XzEtMS0xLTEtNDc4OTQ_c848d87a-4d17-43b6-a602-2382020f28e9"
      unitRef="usd">968000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <aip:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedUnbilledRevenue
      contextRef="i41819c4d247144f4950800bdda79bcfe_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4NTE5YmMzOTk1YzY0MzYwYTJkNDEwYzYwYjFhMTc0OC90YWJsZXJhbmdlOjg1MTliYzM5OTVjNjQzNjBhMmQ0MTBjNjBiMWExNzQ4XzItMS0xLTEtNDc4OTQ_7406cfe7-46d2-4908-8520-fbbebe7d1b85"
      unitRef="usd">1424000</aip:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedUnbilledRevenue>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i41819c4d247144f4950800bdda79bcfe_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4NTE5YmMzOTk1YzY0MzYwYTJkNDEwYzYwYjFhMTc0OC90YWJsZXJhbmdlOjg1MTliYzM5OTVjNjQzNjBhMmQ0MTBjNjBiMWExNzQ4XzMtMS0xLTEtNDc4OTQ_0cdc2901-fc6d-415e-884f-17a34f100110"
      unitRef="usd">3450000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <aip:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset
      contextRef="i41819c4d247144f4950800bdda79bcfe_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4NTE5YmMzOTk1YzY0MzYwYTJkNDEwYzYwYjFhMTc0OC90YWJsZXJhbmdlOjg1MTliYzM5OTVjNjQzNjBhMmQ0MTBjNjBiMWExNzQ4XzQtMS0xLTEtNDc4OTQ_c61cad27-591a-49cf-8a9c-53b973cfb70c"
      unitRef="usd">1222000</aip:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i41819c4d247144f4950800bdda79bcfe_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4NTE5YmMzOTk1YzY0MzYwYTJkNDEwYzYwYjFhMTc0OC90YWJsZXJhbmdlOjg1MTliYzM5OTVjNjQzNjBhMmQ0MTBjNjBiMWExNzQ4XzUtMS0xLTEtNDc4OTQ_05df4c0e-52ae-4aa1-835b-ed33b72263f1"
      unitRef="usd">567000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation
      contextRef="i41819c4d247144f4950800bdda79bcfe_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4NTE5YmMzOTk1YzY0MzYwYTJkNDEwYzYwYjFhMTc0OC90YWJsZXJhbmdlOjg1MTliYzM5OTVjNjQzNjBhMmQ0MTBjNjBiMWExNzQ4XzYtMS0xLTEtNDc4OTQ_a8d039ff-7a71-4f1f-afc6-9085c54e53d5"
      unitRef="usd">1222000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther
      contextRef="i41819c4d247144f4950800bdda79bcfe_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4NTE5YmMzOTk1YzY0MzYwYTJkNDEwYzYwYjFhMTc0OC90YWJsZXJhbmdlOjg1MTliYzM5OTVjNjQzNjBhMmQ0MTBjNjBiMWExNzQ4XzctMS0xLTEtNDc4OTQ_c0f9dae5-5441-4b94-b320-ee07d7380c97"
      unitRef="usd">1244000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="i41819c4d247144f4950800bdda79bcfe_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4NTE5YmMzOTk1YzY0MzYwYTJkNDEwYzYwYjFhMTc0OC90YWJsZXJhbmdlOjg1MTliYzM5OTVjNjQzNjBhMmQ0MTBjNjBiMWExNzQ4XzgtMS0xLTEtNDc4OTQ_72d3c1a8-b17c-4651-a432-ac17d1e09abd"
      unitRef="usd">5165000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:Goodwill
      contextRef="i41819c4d247144f4950800bdda79bcfe_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4NTE5YmMzOTk1YzY0MzYwYTJkNDEwYzYwYjFhMTc0OC90YWJsZXJhbmdlOjg1MTliYzM5OTVjNjQzNjBhMmQ0MTBjNjBiMWExNzQ4XzktMS0xLTEtNDc4OTQ_6298d82b-0992-4a11-a3ff-c49821eb9b33"
      unitRef="usd">2677000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i8eaba711f1e64cf19b6fbbdc95ba4617_D20201130-20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4NTE5YmMzOTk1YzY0MzYwYTJkNDEwYzYwYjFhMTc0OC90YWJsZXJhbmdlOjg1MTliYzM5OTVjNjQzNjBhMmQ0MTBjNjBiMWExNzQ4XzEwLTEtMS0xLTQ3ODk0_3734cbbd-a3d2-4123-8995-7c511638ec12"
      unitRef="usd">7842000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i4363e2d1d19842cb948de61c8d915c53_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4MDIzNmRiMzA0MTc0NTcxOTkyYTZiNDUxNTdiZjYwZi90YWJsZXJhbmdlOjgwMjM2ZGIzMDQxNzQ1NzE5OTJhNmI0NTE1N2JmNjBmXzEtMS0xLTEtNDc5MDA_58722546-8324-4a99-9999-04df077cd543"
      unitRef="usd">1700000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ibe92c17fc1304c5db9e7bfeae3f492af_D20201130-20201130"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4MDIzNmRiMzA0MTc0NTcxOTkyYTZiNDUxNTdiZjYwZi90YWJsZXJhbmdlOjgwMjM2ZGIzMDQxNzQ1NzE5OTJhNmI0NTE1N2JmNjBmXzEtMy0xLTEtNDc5MDA_a4f2acfe-099a-475b-bc46-0325810b83d9">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i94ae76f72f0a4455a53df3a780f99fa1_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4MDIzNmRiMzA0MTc0NTcxOTkyYTZiNDUxNTdiZjYwZi90YWJsZXJhbmdlOjgwMjM2ZGIzMDQxNzQ1NzE5OTJhNmI0NTE1N2JmNjBmXzItMS0xLTEtNDc5MDA_2d42337a-05f2-4fc5-b963-ab3cca726b71"
      unitRef="usd">1100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ic11e450b8eeb4101a7cb5ddd79426b1d_D20201130-20201130"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4MDIzNmRiMzA0MTc0NTcxOTkyYTZiNDUxNTdiZjYwZi90YWJsZXJhbmdlOjgwMjM2ZGIzMDQxNzQ1NzE5OTJhNmI0NTE1N2JmNjBmXzItMy0xLTEtNDc5MDA_cb210b8f-1295-4632-b33a-bf97ecd99937">P8Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets
      contextRef="i2bff67dd92f14ee09fd7bee6fb5cf18d_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4MDIzNmRiMzA0MTc0NTcxOTkyYTZiNDUxNTdiZjYwZi90YWJsZXJhbmdlOjgwMjM2ZGIzMDQxNzQ1NzE5OTJhNmI0NTE1N2JmNjBmXzMtMS0xLTEtNDc5MDA_d32ca124-5e5e-4d5f-84f8-61f7a25d9ddf"
      unitRef="usd">500000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets
      contextRef="i296299c70f7f45dd83cc21405344df67_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4MDIzNmRiMzA0MTc0NTcxOTkyYTZiNDUxNTdiZjYwZi90YWJsZXJhbmdlOjgwMjM2ZGIzMDQxNzQ1NzE5OTJhNmI0NTE1N2JmNjBmXzQtMS0xLTEtNDc5MDA_a721a6e3-e598-4091-8cec-d5750e360dec"
      unitRef="usd">150000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i41819c4d247144f4950800bdda79bcfe_I20201130"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo4MDIzNmRiMzA0MTc0NTcxOTkyYTZiNDUxNTdiZjYwZi90YWJsZXJhbmdlOjgwMjM2ZGIzMDQxNzQ1NzE5OTJhNmI0NTE1N2JmNjBmXzUtMS0xLTEtNDc5MDA_a24ae902-20ac-4bc9-a32d-a0bc0fab7e9d"
      unitRef="usd">3450000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90ZXh0cmVnaW9uOjRjMGI5MDM5YjRmOTQ4ZTg5MTZjMzU4YzBhMDk5Y2NiXzQ5NDc4MDIzNDY3OTU_44486b21-bb09-4691-abce-1d4184b3e661">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table provides unaudited pro forma condensed consolidated results of operations information for the year ended December 31, 2020 assuming the Magillem acquisition was completed as of January&#160;1, 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;PRO FORMA&lt;br/&gt;COMBINED&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total revenue&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39,726&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Net loss&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(4,456)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Net loss attributable to common stockholders&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(4,456)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Net loss per share attributable to common stockholders&#x2014;basic and diluted&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(0.25)&lt;/span&gt;&lt;/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:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="id64ddacb41c24c3b97cc2511c1ee4396_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo0ZjlhNTU5YTk3Mzk0ZGVlYTlkNzdlOTQ2MzFmMDhjMi90YWJsZXJhbmdlOjRmOWE1NTlhOTczOTRkZWVhOWQ3N2U5NDYzMWYwOGMyXzItMS0xLTEtNTExNDc_cfbbad21-d702-4332-a7a5-9fb3cbe1c4c7"
      unitRef="usd">39726000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="id64ddacb41c24c3b97cc2511c1ee4396_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo0ZjlhNTU5YTk3Mzk0ZGVlYTlkNzdlOTQ2MzFmMDhjMi90YWJsZXJhbmdlOjRmOWE1NTlhOTczOTRkZWVhOWQ3N2U5NDYzMWYwOGMyXzMtMS0xLTEtNTExNDc_acb56802-206f-430d-b45f-6e72ce948812"
      unitRef="usd">-4456000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax
      contextRef="id64ddacb41c24c3b97cc2511c1ee4396_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo0ZjlhNTU5YTk3Mzk0ZGVlYTlkNzdlOTQ2MzFmMDhjMi90YWJsZXJhbmdlOjRmOWE1NTlhOTczOTRkZWVhOWQ3N2U5NDYzMWYwOGMyXzQtMS0xLTEtNTExNDc_7c600c18-7444-42eb-a7b4-af6604a275f8"
      unitRef="usd">-4456000</us-gaap:BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax>
    <us-gaap:BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareBasic
      contextRef="id64ddacb41c24c3b97cc2511c1ee4396_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo0ZjlhNTU5YTk3Mzk0ZGVlYTlkNzdlOTQ2MzFmMDhjMi90YWJsZXJhbmdlOjRmOWE1NTlhOTczOTRkZWVhOWQ3N2U5NDYzMWYwOGMyXzUtMS0xLTEtNTExNDc_c10598df-3ef7-406d-8227-23ce44ad1745"
      unitRef="usdPerShare">-0.25</us-gaap:BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted
      contextRef="id64ddacb41c24c3b97cc2511c1ee4396_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzMvZnJhZzo0YzBiOTAzOWI0Zjk0OGU4OTE2YzM1OGMwYTA5OWNjYi90YWJsZTo0ZjlhNTU5YTk3Mzk0ZGVlYTlkNzdlOTQ2MzFmMDhjMi90YWJsZXJhbmdlOjRmOWE1NTlhOTczOTRkZWVhOWQ3N2U5NDYzMWYwOGMyXzUtMS0xLTEtNTExNDc_e2357af7-506e-45e8-9b29-da4861accfd0"
      unitRef="usdPerShare">-0.25</us-gaap:BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90ZXh0cmVnaW9uOmRmOTI2YzZmMDBhZDQ1OTM5YzM4MWEyMGExM2EzYjBlXzQ5NDc4MDIzMjczMjQ_4eeb9d5b-580f-4c3a-8c80-7ce1d67656e7">LEASES&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company leases its offices and data center hosting space at various locations under noncancelable operating lease agreements expiring at various dates through 2027. Under the terms of these agreements, the Company also bears the costs for certain insurance, property tax, and maintenance. The terms of certain lease agreements provide for increasing rental payments at fixed intervals.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total operating lease related costs were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#160;&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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Operating lease cost&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,096&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;684&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total lease cost&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,230&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;774&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The weighted-average remaining term of the Company&#x2019;s operating leases was 3.6 years and 4.4 years as of December&#160;31, 2021 and 2020, respectively, and the weighted-average discount rate used to measure the present value of the operating lease liabilities was 7.5% as of December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Maturities of operating lease liabilities as of December&#160;31, 2021 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&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:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Fiscal year ending December 31,&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2023&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2024&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2025&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2026 and thereafter&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total undiscounted cash flows&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Less: Imputed interest&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(405)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Present value of lease liabilities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&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 #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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Lease liabilities, current&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Lease liabilities, noncurrent&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,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 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total lease liabilities&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,812&#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:LesseeOperatingLeasesTextBlock>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90ZXh0cmVnaW9uOmRmOTI2YzZmMDBhZDQ1OTM5YzM4MWEyMGExM2EzYjBlXzQ5NDc4MDIzMjczMjU_df684384-2669-4e3d-8232-66e2e59b72b6">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Total operating lease related costs were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#160;&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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Operating lease cost&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,096&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;684&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total lease cost&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,230&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;774&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZTozZDlhZGQ4OGQ3NTM0NzQzODNhMmRkNTFiMmQ5OTcyOC90YWJsZXJhbmdlOjNkOWFkZDg4ZDc1MzQ3NDM4M2EyZGQ1MWIyZDk5NzI4XzItMS0xLTEtMjUxMzI_053221ec-ca8c-4de5-837d-1a61d75e6e2d"
      unitRef="usd">1096000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZTozZDlhZGQ4OGQ3NTM0NzQzODNhMmRkNTFiMmQ5OTcyOC90YWJsZXJhbmdlOjNkOWFkZDg4ZDc1MzQ3NDM4M2EyZGQ1MWIyZDk5NzI4XzItMy0xLTEtMjUxMzI_74a41da9-18f5-4075-92f1-ab2d75bb8505"
      unitRef="usd">684000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZTozZDlhZGQ4OGQ3NTM0NzQzODNhMmRkNTFiMmQ5OTcyOC90YWJsZXJhbmdlOjNkOWFkZDg4ZDc1MzQ3NDM4M2EyZGQ1MWIyZDk5NzI4XzMtMS0xLTEtMjUxMzI_b02fb095-762b-48eb-b60e-cb0ba0ad90a7"
      unitRef="usd">134000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZTozZDlhZGQ4OGQ3NTM0NzQzODNhMmRkNTFiMmQ5OTcyOC90YWJsZXJhbmdlOjNkOWFkZDg4ZDc1MzQ3NDM4M2EyZGQ1MWIyZDk5NzI4XzMtMy0xLTEtMjUxMzI_1f6d094e-16d1-40c9-b308-b012a03bed88"
      unitRef="usd">90000</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZTozZDlhZGQ4OGQ3NTM0NzQzODNhMmRkNTFiMmQ5OTcyOC90YWJsZXJhbmdlOjNkOWFkZDg4ZDc1MzQ3NDM4M2EyZGQ1MWIyZDk5NzI4XzQtMS0xLTEtMjUxMzI_70df72a1-600d-466f-9e56-418077d07c80"
      unitRef="usd">1230000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZTozZDlhZGQ4OGQ3NTM0NzQzODNhMmRkNTFiMmQ5OTcyOC90YWJsZXJhbmdlOjNkOWFkZDg4ZDc1MzQ3NDM4M2EyZGQ1MWIyZDk5NzI4XzQtMy0xLTEtMjUxMzI_df071ba3-9ff0-4f42-bea5-6b93a09dee0c"
      unitRef="usd">774000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90ZXh0cmVnaW9uOmRmOTI2YzZmMDBhZDQ1OTM5YzM4MWEyMGExM2EzYjBlXzEwOTk1MTE2Mjk5ODM_1ec4dddd-4857-4785-aea3-e2dfeff49732">P3Y7M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90ZXh0cmVnaW9uOmRmOTI2YzZmMDBhZDQ1OTM5YzM4MWEyMGExM2EzYjBlXzEwOTk1MTE2Mjk5NTU_824638f6-f2e5-4863-ba75-e2b580e8d8a3">P4Y4M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90ZXh0cmVnaW9uOmRmOTI2YzZmMDBhZDQ1OTM5YzM4MWEyMGExM2EzYjBlXzQ5NDc4MDIzMjczMjg_868af6fa-1ae9-4a6d-8fb0-be7d8d6c84d2"
      unitRef="number">0.075</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90ZXh0cmVnaW9uOmRmOTI2YzZmMDBhZDQ1OTM5YzM4MWEyMGExM2EzYjBlXzQ5NDc4MDIzMjczMjg_d18d0b01-7625-487f-95cd-be1aa0c5ddc8"
      unitRef="number">0.075</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90ZXh0cmVnaW9uOmRmOTI2YzZmMDBhZDQ1OTM5YzM4MWEyMGExM2EzYjBlXzQ5NDc4MDIzMjczMjY_7986605e-b0a7-45d4-b698-8940379df244">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Maturities of operating lease liabilities as of December&#160;31, 2021 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&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:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Fiscal year ending December 31,&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2023&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2024&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2025&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2026 and thereafter&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total undiscounted cash flows&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Less: Imputed interest&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(405)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Present value of lease liabilities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&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 #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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Lease liabilities, current&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Lease liabilities, noncurrent&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,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 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total lease liabilities&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,812&#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:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZToxMjM5Zjc1OTIzMzA0YTAzODY3YTQyM2Q2YjkzZWExMS90YWJsZXJhbmdlOjEyMzlmNzU5MjMzMDRhMDM4NjdhNDIzZDZiOTNlYTExXzMtMS0xLTEtMjUxMzI_a6fb7472-2285-48b9-a97e-1ed81f60faa2"
      unitRef="usd">1113000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZToxMjM5Zjc1OTIzMzA0YTAzODY3YTQyM2Q2YjkzZWExMS90YWJsZXJhbmdlOjEyMzlmNzU5MjMzMDRhMDM4NjdhNDIzZDZiOTNlYTExXzQtMS0xLTEtMjUxMzI_56ff5522-1cba-4076-aa07-272ef3ef993c"
      unitRef="usd">953000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZToxMjM5Zjc1OTIzMzA0YTAzODY3YTQyM2Q2YjkzZWExMS90YWJsZXJhbmdlOjEyMzlmNzU5MjMzMDRhMDM4NjdhNDIzZDZiOTNlYTExXzUtMS0xLTEtMjUxMzI_10e7a306-112d-4285-92e7-cc8370dda2a2"
      unitRef="usd">449000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZToxMjM5Zjc1OTIzMzA0YTAzODY3YTQyM2Q2YjkzZWExMS90YWJsZXJhbmdlOjEyMzlmNzU5MjMzMDRhMDM4NjdhNDIzZDZiOTNlYTExXzYtMS0xLTEtMjUxMzI_5a56badb-ff12-499d-81ee-a968ea2734f6"
      unitRef="usd">278000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <aip:LesseeOperatingLeaseLiabilityToBePaidAfterYourFour
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZToxMjM5Zjc1OTIzMzA0YTAzODY3YTQyM2Q2YjkzZWExMS90YWJsZXJhbmdlOjEyMzlmNzU5MjMzMDRhMDM4NjdhNDIzZDZiOTNlYTExXzctMS0xLTEtMjUxMzI_804c5cd9-59e0-4f9b-b52c-a64613af94d2"
      unitRef="usd">424000</aip:LesseeOperatingLeaseLiabilityToBePaidAfterYourFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZToxMjM5Zjc1OTIzMzA0YTAzODY3YTQyM2Q2YjkzZWExMS90YWJsZXJhbmdlOjEyMzlmNzU5MjMzMDRhMDM4NjdhNDIzZDZiOTNlYTExXzktMS0xLTEtMjUxMzI_6bb30068-9a59-4178-b219-d587de548d09"
      unitRef="usd">3217000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZToxMjM5Zjc1OTIzMzA0YTAzODY3YTQyM2Q2YjkzZWExMS90YWJsZXJhbmdlOjEyMzlmNzU5MjMzMDRhMDM4NjdhNDIzZDZiOTNlYTExXzEwLTEtMS0xLTI1MTMy_70c617fa-4f12-4d0e-ba4c-f73974c25123"
      unitRef="usd">405000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZToxMjM5Zjc1OTIzMzA0YTAzODY3YTQyM2Q2YjkzZWExMS90YWJsZXJhbmdlOjEyMzlmNzU5MjMzMDRhMDM4NjdhNDIzZDZiOTNlYTExXzExLTEtMS0xLTI1MTMy_ba7b62ee-998f-4349-be7d-68ea0b9f7b28"
      unitRef="usd">2812000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZToxMjM5Zjc1OTIzMzA0YTAzODY3YTQyM2Q2YjkzZWExMS90YWJsZXJhbmdlOjEyMzlmNzU5MjMzMDRhMDM4NjdhNDIzZDZiOTNlYTExXzEyLTEtMS0xLTI1MTMy_5b8eac5f-5b46-49eb-8d79-4a5b7ae52eba"
      unitRef="usd">961000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZToxMjM5Zjc1OTIzMzA0YTAzODY3YTQyM2Q2YjkzZWExMS90YWJsZXJhbmdlOjEyMzlmNzU5MjMzMDRhMDM4NjdhNDIzZDZiOTNlYTExXzEzLTEtMS0xLTI1MTMy_6b69b36f-eb9f-4dc2-929f-3bc9386dfa44"
      unitRef="usd">1851000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzYvZnJhZzpkZjkyNmM2ZjAwYWQ0NTkzOWMzODFhMjBhMTNhM2IwZS90YWJsZToxMjM5Zjc1OTIzMzA0YTAzODY3YTQyM2Q2YjkzZWExMS90YWJsZXJhbmdlOjEyMzlmNzU5MjMzMDRhMDM4NjdhNDIzZDZiOTNlYTExXzE0LTEtMS0xLTI1MTMy_318730d8-6822-4530-a7e8-874165ef2f67"
      unitRef="usd">2812000</us-gaap:OperatingLeaseLiability>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzQ5NDc4MDIzMjg5MDQ_4a1fc039-6818-4bbb-9917-6d51822fb1e9">BORROWINGS&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Term loans&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x2014;In November 2018, the Company entered into a business financing agreement (2018 Term Loan) of $1.5 million with Western Alliance Bank which matured in November 2021, and was payable on a monthly basis of less than $0.1 million with the beginning six months being interest only payments. The inter&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;est rate on the 2018 Term Loan was prime plus 2%. Debt issuance costs were immaterial. &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The 2018 Term Loan was fully repaid in November 2021 and was not renewed. As of December 31, 2020, the Company had $0.6 million outstanding balance, net of debt issuance costs, and was classified as current liabilities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Revolving line of credit&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x2014;The Company had a revolving line of credit, under the business financing agreement dated August 2015, with a lender for $1.5 million (2015 Revolver) that matured in August 2018 and renewed in November 2018 for another three years that matured in November 2021 for $2.0 million (2018 Revolver). The interest rate for the 2018 Revolver was prime plus 1%. The 2018 Revolver was not renewed in November 2021 and was not used for the year ending December 31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Vendor financing arrangements&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x2014;The Company has various vendor financing arrangements with extended payment terms on the purchase of software licenses and equipment. In order to determine the present value of the commitments, the Company used an imputed interest rate of 7.5%, which is reflective of its collateralized borrowing rate with similar terms to that of the software licenses and equipment transactions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Vendor financing arrangements were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;833&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2023&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;319&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total undiscounted cash flows&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,152&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Less: Imputed interest&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(53)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Present value of vendor financing arrangements&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,099&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Vendor financing arrangements, current&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;833&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Vendor financing arrangements, noncurrent&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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: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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,099&#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 style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Interest expense from Term Loan and Vendor financing arrangements was $0.1 million and $0.1 million for the years ended December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Borrowing Arrangement&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x2014;In April 2020 and under the CARES Act, the Company entered into a loan agreement known as the Paycheck Protection Program (PPP) with a lender for $1.6 million (the PPP Loan) with 1% interest due per annum and repayable in two years. The Company applied for forgiveness of amounts due under the Loan, with the amount of potential loan forgiveness to be calculated in accordance with the requirements of the PPP based on payroll costs, any mortgage interest payments, any covered rent payments and any covered utilities payments during the&#160;8-week&#160;period after the origination date of the PPP Loan. The Company used proceeds of the PPP Loan to fund payroll and other qualifying expenses. On December&#160;8, 2020, the full amount of the PPP Loan, including principal and accrued interest, was forgiven.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i1f54152529a34ccb9b54c178ec0417d4_I20181130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzExNg_fd27e5d4-37be-4bf1-bd17-f6099069281b"
      unitRef="usd">1500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="i820aaa18e58a419eb01e993999bb212e_D20181101-20181130"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzIzMw_d5d32186-deec-4f60-b16d-07fa0b7e7853"
      unitRef="usd">100000</us-gaap:DebtInstrumentPeriodicPayment>
    <aip:DebtInstrumentPeriodicPaymentInterestOnlyPaymentsPeriod
      contextRef="i820aaa18e58a419eb01e993999bb212e_D20181101-20181130"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzI1NQ_c5c21d94-92fe-4c2a-8c64-c7cd086b1524">P6M</aip:DebtInstrumentPeriodicPaymentInterestOnlyPaymentsPeriod>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ibe109ede4eb44b869a7a77a352998011_D20181101-20181130"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzM0MA_b626c563-0f25-4710-85b4-fd6538149889"
      unitRef="number">0.02</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LongTermDebt
      contextRef="ibcf7d73225c945eab97b946280b51882_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzEwOTk1MTE2MzExNDk_c5061ebc-a503-4fe0-bab9-7f8634ebdd66"
      unitRef="usd">600000</us-gaap:LongTermDebt>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i9cf26e80f51549898ce0dbecef2d80ee_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzE1OTA_f6edb03f-9383-40ba-98c0-7b9bda296bbd"
      unitRef="usd">1500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentTerm
      contextRef="i795435d335dc405890116d8b9efe2bde_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzE2Njk_a91ab70c-7df2-4c3f-8e95-8981d8ede9a6">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="ib28017aef1554fb69405c196edeccc10_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzE3MDM_837559ad-a7b0-4e96-91c8-e5ea03b5da22"
      unitRef="usd">2000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="icb9a6a3f907d49a78ad6245a308ce8c4_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzE3Nzk_0ca94833-8810-4b78-b657-e84794cf4179"
      unitRef="number">0.01</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="id6d5d6fd1baf472b83fb4f1403c14eef_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzIxMzM_a6cb7766-1a6d-46f3-8bd1-a7cc548cf666"
      unitRef="number">0.075</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <srt:ContractualObligationFiscalYearMaturityScheduleTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzQ5NDc4MDIzMjg5MDU_2a5f0bf5-086e-4937-900c-83503bb5268e">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Vendor financing arrangements were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;833&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2023&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;319&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total undiscounted cash flows&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,152&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Less: Imputed interest&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(53)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Present value of vendor financing arrangements&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,099&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Vendor financing arrangements, current&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;833&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Vendor financing arrangements, noncurrent&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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: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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,099&#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;</srt:ContractualObligationFiscalYearMaturityScheduleTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="id6d5d6fd1baf472b83fb4f1403c14eef_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90YWJsZToxODhlYjZjN2ZjYjQ0MWNhOWNmNzFkYzU5MWM0NjYyNC90YWJsZXJhbmdlOjE4OGViNmM3ZmNiNDQxY2E5Y2Y3MWRjNTkxYzQ2NjI0XzItMS0xLTEtMjUxMzI_345ab3cb-cb8c-4b68-9647-72f944bc7e12"
      unitRef="usd">833000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="id6d5d6fd1baf472b83fb4f1403c14eef_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90YWJsZToxODhlYjZjN2ZjYjQ0MWNhOWNmNzFkYzU5MWM0NjYyNC90YWJsZXJhbmdlOjE4OGViNmM3ZmNiNDQxY2E5Y2Y3MWRjNTkxYzQ2NjI0XzMtMS0xLTEtMjUxMzI_95c08a1e-b615-4d35-83b8-f830c271999a"
      unitRef="usd">319000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="id6d5d6fd1baf472b83fb4f1403c14eef_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90YWJsZToxODhlYjZjN2ZjYjQ0MWNhOWNmNzFkYzU5MWM0NjYyNC90YWJsZXJhbmdlOjE4OGViNmM3ZmNiNDQxY2E5Y2Y3MWRjNTkxYzQ2NjI0XzUtMS0xLTEtMjUxMzI_4e449b48-0401-4ba1-b475-dff6f2680b1c"
      unitRef="usd">1152000</us-gaap:DebtInstrumentCarryingAmount>
    <aip:LongTermDebtUndiscountedExcessAmount
      contextRef="id6d5d6fd1baf472b83fb4f1403c14eef_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90YWJsZToxODhlYjZjN2ZjYjQ0MWNhOWNmNzFkYzU5MWM0NjYyNC90YWJsZXJhbmdlOjE4OGViNmM3ZmNiNDQxY2E5Y2Y3MWRjNTkxYzQ2NjI0XzYtMS0xLTEtMjUxMzI_714cfcd9-bdd8-41c5-8ce4-c678231608fe"
      unitRef="usd">53000</aip:LongTermDebtUndiscountedExcessAmount>
    <us-gaap:LongTermDebt
      contextRef="id6d5d6fd1baf472b83fb4f1403c14eef_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90YWJsZToxODhlYjZjN2ZjYjQ0MWNhOWNmNzFkYzU5MWM0NjYyNC90YWJsZXJhbmdlOjE4OGViNmM3ZmNiNDQxY2E5Y2Y3MWRjNTkxYzQ2NjI0XzctMS0xLTEtMjUxMzI_f69d8e19-a7ef-4f3f-8f2e-f579ee3b3a9d"
      unitRef="usd">1099000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="id6d5d6fd1baf472b83fb4f1403c14eef_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90YWJsZToxODhlYjZjN2ZjYjQ0MWNhOWNmNzFkYzU5MWM0NjYyNC90YWJsZXJhbmdlOjE4OGViNmM3ZmNiNDQxY2E5Y2Y3MWRjNTkxYzQ2NjI0XzgtMS0xLTEtMjUxMzI_dbc3249e-90c8-4779-a0b3-791ee87a226a"
      unitRef="usd">833000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="id6d5d6fd1baf472b83fb4f1403c14eef_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90YWJsZToxODhlYjZjN2ZjYjQ0MWNhOWNmNzFkYzU5MWM0NjYyNC90YWJsZXJhbmdlOjE4OGViNmM3ZmNiNDQxY2E5Y2Y3MWRjNTkxYzQ2NjI0XzktMS0xLTEtMjUxMzI_dd1f6589-43d2-4120-84ab-0ff82b5f0515"
      unitRef="usd">266000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebt
      contextRef="id6d5d6fd1baf472b83fb4f1403c14eef_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90YWJsZToxODhlYjZjN2ZjYjQ0MWNhOWNmNzFkYzU5MWM0NjYyNC90YWJsZXJhbmdlOjE4OGViNmM3ZmNiNDQxY2E5Y2Y3MWRjNTkxYzQ2NjI0XzEwLTEtMS0xLTI1MTMy_7eecda95-3ec3-4b43-85a5-92446f88b460"
      unitRef="usd">1099000</us-gaap:LongTermDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzEwOTk1MTE2MzE0MzQ_d336b5d7-e099-4a69-93ed-d0afcbe00f53"
      unitRef="usd">100000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzEwOTk1MTE2MzE0MjY_8a7d6b77-3fb3-492d-8943-a57b992389b9"
      unitRef="usd">100000</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i775e9851ba0b4e8fa1f23b538038df05_I20200430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzI2MzQ_6c2a37ee-8228-4c54-a91c-0a59da8e6a28"
      unitRef="usd">1600000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i775e9851ba0b4e8fa1f23b538038df05_I20200430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzI2NTk_35d3deb9-6fed-4164-8070-e39e698920e2"
      unitRef="number">0.01</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm
      contextRef="i162aa5e47d4a41abba0f3305db99d06b_D20200401-20200430"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xMzkvZnJhZzpkMTdhZGUzNDdlNTA0Y2IwYWZmMDUxYTY5NmNkOTkyYi90ZXh0cmVnaW9uOmQxN2FkZTM0N2U1MDRjYjBhZmYwNTFhNjk2Y2Q5OTJiXzI3MDI_0ce8e703-6334-47d6-a709-b02c0b1e9e92">P2Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDIvZnJhZzpjYjhmMjE0ZmRiYTg0ODllYmI3ZTQ3M2Y2MjkyN2FiMS90ZXh0cmVnaW9uOmNiOGYyMTRmZGJhODQ4OWViYjdlNDczZjYyOTI3YWIxXzE1MzkzMTYyNzkwNTY5_a479249d-526d-4212-ae37-47048fce4d60">COMMITMENTS AND CONTINGENCIES&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Indemnifications&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x2014;The Company often enters into limited indemnification provisions in license agreements in the ordinary course of the Company&#x2019;s licensing business. Pursuant to these provisions, which are often inserted into license agreements in the semiconductor IP and software licensing industries, the Company agrees to indemnify, hold harmless, and reimburse the indemnified parties up to a capped amount for losses suffered or incurred by such indemnified parties due to third party claims if such claims are determined to be caused by the Company. The term of these indemnification provisions is generally either for a term of years or perpetual, in each case beginning on the execution date of the agreement. The Company has also agreed to indemnify under indemnity agreements with its directors and officers, to the extent legally permissible, against liabilities incurred in connection with any action in which such individual may be involved by reason of such individual being or having been a director or officer, other than certain liabilities arising from willful misconduct of the individual.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company has incurred no actual payment obligations from these above-noted indemnification provisions and director and officer indemnity agreements during 2021 and 2020, and the consolidated financial statements do not include liabilities for any potential indemnity-related obligations as of December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Legal&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x2014;In the normal course of business, the Company may receive inquiries or become involved in legal disputes regarding various litigation matters. Although claims are inherently unpredictable, the Company currently is not aware of any such matters that may have a material adverse effect on the Company&#x2019;s financial position, results of operations, or cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company has no other material contractual noncancelable commitments as of December&#160;31, 2021 and December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:GuaranteesIndemnificationsAndWarrantiesPolicies
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDIvZnJhZzpjYjhmMjE0ZmRiYTg0ODllYmI3ZTQ3M2Y2MjkyN2FiMS90ZXh0cmVnaW9uOmNiOGYyMTRmZGJhODQ4OWViYjdlNDczZjYyOTI3YWIxXzQ5NDc4MDIzMjY2OTU_ade43d1f-20c8-4407-a796-fe80f2a58959">The Company often enters into limited indemnification provisions in license agreements in the ordinary course of the Company&#x2019;s licensing business. Pursuant to these provisions, which are often inserted into license agreements in the semiconductor IP and software licensing industries, the Company agrees to indemnify, hold harmless, and reimburse the indemnified parties up to a capped amount for losses suffered or incurred by such indemnified parties due to third party claims if such claims are determined to be caused by the Company. The term of these indemnification provisions is generally either for a term of years or perpetual, in each case beginning on the execution date of the agreement. The Company has also agreed to indemnify under indemnity agreements with its directors and officers, to the extent legally permissible, against liabilities incurred in connection with any action in which such individual may be involved by reason of such individual being or having been a director or officer, other than certain liabilities arising from willful misconduct of the individual.</us-gaap:GuaranteesIndemnificationsAndWarrantiesPolicies>
    <aip:TemporaryEquityDisclosureTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzE1MzkzMTYyODA3ODU1_b3e4e8c8-961f-407d-916d-84c45fed33d6">REDEEMABLE CONVERTIBLE PREFERRED STOCK, PREFERRED STOCK AND COMMON STOCK&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Redeemable Convertible Preferred Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Immediately prior to the closing of the IPO, all shares of the Company&#x2019;s redeemable convertible preferred stock outstanding, totaling 4,471,316, were automatically converted into an equal number of shares of common stock and their carrying value of $5.7&#160;million was reclassified into stockholders&#x2019; equity. As of December&#160;31, 2021 and 2020, there were zero and 4,471,316 shares of redeemable convertible preferred stock issued and outstanding, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Preferred Stock &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In connection with the IPO, the Company amended and restated its certificate of incorporation to authorize 10,000,000 shares of preferred stock with a par value of $0.001, which shares of preferred stock are currently undesignated.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Common Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Holders of common stock are entitled to one vote per share and to receive dividends and, upon liquidation or dissolution, are entitled to receive all assets available for distribution to common stockholders. The common stock has no preemptive or other subscription rights and there are no redemption or sinking fund provisions with respect to such shares. Common stock is subordinate to the preferred stock and redeemable convertible preferred stock with respect to dividend rights and rights upon liquidation,&#160;winding-up,&#160;and dissolution of the Company. In connection with the IPO, the Company amended and restated its certificate of incorporation to authorize 300,000,000 shares of common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;During the year ended December 31, 2021, 1,250,000 shares of the Company&#x2019;s common stock were sold to third-party investors for an aggregate amount of $5.4 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Stock Repurchases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;There were no repurchased shares for the years ended December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;</aip:TemporaryEquityDisclosureTextBlock>
    <us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion
      contextRef="id05357d80541450ba7744ef7a8c98a5f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzE1MzkzMTYyODA3ODIz_656ba7c9-58c3-407b-9eb5-af6c5185a2eb"
      unitRef="shares">4471316</us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="i6625223ef6a54daca990ccd27fa1f126_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzE1MzkzMTYyODA3ODM0_79cf6ed1-9bd2-4917-96b7-c6c2aec645df"
      unitRef="usd">5700000</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:TemporaryEquitySharesIssued
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzQ5NDc4MDIzNDM5ODU_09842786-d349-4359-9b94-d31c8909a004"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesIssued>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzQ5NDc4MDIzNDM5ODU_e2e5a3e0-1efa-45aa-a604-92eaae6b3baf"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzE3MDQyNDMwMjYyMjEw_6ca9e16d-fa85-49d2-9a42-6ff472791262"
      unitRef="shares">4471316</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquitySharesIssued
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzE3MDQyNDMwMjYyMjEw_a1f404a3-9cb2-4c41-98a8-bba4e58ab9c0"
      unitRef="shares">4471316</us-gaap:TemporaryEquitySharesIssued>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i6625223ef6a54daca990ccd27fa1f126_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzQ5NDc4MDIzNTY2Mzg_ef92ed8c-070d-4b1f-a8e0-14447a03fcaf"
      unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i6625223ef6a54daca990ccd27fa1f126_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzE2NDkyNjc0NDM5MDA1_e6237604-461c-4481-9a5f-00c4abe24a7b"
      unitRef="usdPerShare">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <aip:NumberOfVotesPerCommonShare
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzE1MzkzMTYyODA3ODQ3_65079b61-4b16-4b67-ae4d-ffbf60bb9563"
      unitRef="vote">1</aip:NumberOfVotesPerCommonShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i76d395d213fc4f459a251f807eb60fe6_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzQ5NDc4MDIzNTY2NTA_162cbccf-ac65-43f6-9385-ee82936e5aba"
      unitRef="shares">300000000</us-gaap:CommonStockSharesAuthorized>
    <aip:CommonStockSaleToThirdPartyInvestorShares
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzE2NDkyNjc0NDM4NDg4_7914ebbb-8ccf-47c5-9485-0ffa7d8dba9d"
      unitRef="shares">1250000</aip:CommonStockSaleToThirdPartyInvestorShares>
    <aip:CommonStockSaleToThirdPartyInvestorValue
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzE2NDkyNjc0NDM4NDk5_81360b4c-15d6-41ff-9284-b00cc77b2299"
      unitRef="usd">5400000</aip:CommonStockSaleToThirdPartyInvestorValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzg4NDA_90a855b1-1e86-423c-ab5e-703d14cd6182"
      unitRef="shares">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDUvZnJhZzowMTY1YWQ5ZjgzNTY0OGI3YWRlYTE0M2IwNmQ5ZmRhMy90ZXh0cmVnaW9uOjAxNjVhZDlmODM1NjQ4YjdhZGVhMTQzYjA2ZDlmZGEzXzg4NDA_c7d620ae-cd73-4f3d-8370-c681b1d17740"
      unitRef="shares">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0Xzg3OTYwOTMwMzU3NjI_197606b9-7901-41bc-a3df-e2d1bedd7914">STOCK-BASED COMPENSATION&lt;div style="text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;2013 Stock Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Board adopted and the Company&#x2019;s stockholders approved the 2013 Equity Incentive Plan (the 2013 Plan) during the year ended December&#160;31, 2013.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;2016 Stock Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;On October&#160;10, 2016, the Company amended and restated the 2013 Equity Incentive Plan and changed the name of the plan to Arteris, Inc. 2016 Incentive Plan (the 2016 Plan). Adoption of the 2016 Plan provides for participation by foreign nationals or those employed outside of the United States. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The 2016 Plan provides for the granting of the following types of stock awards: incentive stock options,&#160;non-statutory&#160;stock options, stock appreciation rights, restricted stock awards, restricted stock unit awards and other stock awards. The number of shares authorized for award is 20,803,838. The Company has granted awards of common stock in the form of 14,142,208 shares as of December 31, 2021 w&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;ith none remaining &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;available for future grant. Following the Company&#x2019;s IPO in October 2021, all future grants will be made under the 2021 Plan (as defined below).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;2021 Stock Plan &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company adopted the 2021 Incentive Award Plan (the 2021 Plan) effective October 26, 2021. The 2021 Plan provides for a variety of stock-based compensation awards, including stock options, stock appreciation rights, or SARs, restricted stock awards, restricted stock unit awards, performance bonus awards, performance stock unit awards, dividend equivalents, or other stock or cash based awards. The Company has granted 228,185 shares subject to awards as of December 31, 2021 with 3,493,240 remaining available for future grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Following the effectiveness of the 2021 Plan, the Company will not make any further grants under the 2016 Plan. However, the 2016 Plan will continue to govern the terms and conditions of the outstanding awards granted under this plan. Shares of common stock subject to awards granted under the 2016 Plan that are forfeited or lapse unexercised and which following the effective date of the 2021 Plan are not issued under the 2016 Plan will be available for issuance under the 2021 Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;2021 Employee stock purchase plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company adopted the 2021 Employee Stock Purchase Plan (the 2021 ESPP) effective on October 26, 2021. The 2021 ESPP will enable eligible employees of the Company to purchase shares of common stock at a discount to fair market value. The Company has initially reserved for issuance 607,000 shares of common stock pursuant to the 2021 ESPP. As of December 31, 2021, there had been no offering period under the ESPP.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Shares Available for Future Grant&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Shares available for future grant under the Company&#x2019;s 2016 and 2021 Plan consist of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#160;&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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Shares available for future grant&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,493,240&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;650,170&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company issues new shares upon a share option exercise or release.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes the stock option activities under the Company&#x2019;s 2013 and 2016 Plans:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:39.657%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.051%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.994%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Options Outstanding&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:'Arial',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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term (Years)&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Values&lt;br/&gt;($&#x2018;000s)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Balances&#x2014;December&#160;31, 2020&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,073,584&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.85&#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="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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7.90&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13,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;/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:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Granted&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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 style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Exercised&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,362,327)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.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;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:bottom"&gt;&lt;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Canceled&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(304,087)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Balance&#x2014;December&#160;31, 2021&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,407,170&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7.16&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;108,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Options vested and exercisable&#x2014;December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,209,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6.36&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;65,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Options vested and exercisable&#x2014;December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,157,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6.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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,398&#160;&lt;/span&gt;&lt;/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:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The aggregate intrinsic value of the options exercised for the years ended December&#160;31, 2021 and 2020 was $9.0 million and $0.4 million, respectively. The total grant-date fair value of awards vested was $0.5 million and $0.3 million for the years ended December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The amount of cash received by the Company for the exercise of stock options was $0.6 million and $0.2 million for the years ended December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, there was $0.9 million of unamortized stock-based compensation cost related to unvested stock options, which is expected to be recognized over a weighted-average period of 2.6 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Stock options granted generally have a maximum term of ten years from the grant date and generally vest over a period of four years with 25% vesting after one year and then monthly thereafter for three years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The fair value of each stock option granted is estimated using the Black-Scholes option-pricing model. The Company determines valuation assumptions for Black-Scholes as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:36pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Risk-Free Interest Rate&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x2014;The Company bases the risk-free interest rate used in the Black-Scholes option-pricing model on the implied yield available on US Treasury zero coupon issues with an equivalent expected term of the options for each option group.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Expected Term&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x2014;The expected term represents the period that the Company&#x2019;s stock-based awards are expected to be outstanding. The expected term assumption is based on the simplified method. The Company expects to continue using the simplified method until sufficient information about the Company&#x2019;s historical behavior is available.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Volatility&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x2014;The Company determines the price volatility factor based on the historical volatilities of the Company&#x2019;s peer group as the Company does not have sufficient trading history for its common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Dividend Yield&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;&#x2014;The Company has never declared or paid any cash dividend and does not currently plan to pay a cash dividend in the foreseeable future. Consequently, the Company used an expected dividend yield of zero.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes the stock option valuation assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.778%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.022%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Fair value of common stock&lt;/span&gt;&lt;/div&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 style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$0.60&#160;-&#160;$2.74&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:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;33.9%&#160;-&#160;39.9%&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5.4&#160;-&#160;6.1&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:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.3%&#160;-&#160;1.5%&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company had no stock option grants during the year ended December 31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock Units and Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes the restricted stock units activities under the Company&#x2019;s 2013, 2016 and 2021 Plans:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.848%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:58.839%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.626%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.629%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Restricted Stock&#160;Units&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average Grant&#160;Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Unvested&#x2014;December&#160;31, 2020&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;843,095&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2.25&#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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Granted&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,607,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6.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;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Vested&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(210,050)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Canceled&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(315,600)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Unvested&#x2014;December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,925,097&#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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5.60&#160;&lt;/span&gt;&lt;/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:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The total grant-date fair value of restricted stock units vested was $0.4 million and less than $0.1&#160;million during the years ended December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, there was $17.1 million of unamortized stock-based compensation cost related to unvested restricted stock units, which is expected to be recognized over a weighted-average period of 2.9 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;For RSUs granted under the 2016 Stock Plan, it contains both a service-based vesting condition and a performance-based vesting condition. The service-based vesting condition for these awards is generally satisfied by rendering continuous service for approximately four years, during which time the grants will vest periodically. The performance-based vesting condition of certain awards is satisfied in connection with the Company becoming a publicly listed company or a change in control. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;For RSUs granted under the 2021 Stock Plan, it contains the service-based vesting condition for these awards and is generally satisfied by rendering continuous service for typically satisfied over four years with a cliff vesting period of one year and continued vesting quarterly thereafter.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense is recorded on a departmental basis, based on the classification of the award holder. The following table presents the amount of stock-based compensation, inclusive of the cumulative stock-based compensation expense recognize upon the effectiveness of the Company&#x2019;s IPO, related to stock-based awards to employees and non-employees on the Company&#x2019;s consolidated statements of income (loss) (in thousands):&lt;/span&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Research and development&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,495&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Sales and marketing&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;General and administrative&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;103&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,510&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;458&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="ic7a370de43c14452bf9bcbb90b5db9b5_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzIxOTY_0a48e47a-b519-4b59-8102-5673069013b4"
      unitRef="shares">20803838</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i2778963c9e2043f0b4445aa03a4a2638_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzQ5NDc4MDIzNzE1NzQ_432be014-3cc6-45e5-b527-2417c00dcfd0"
      unitRef="shares">14142208</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="ic7a370de43c14452bf9bcbb90b5db9b5_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzQ5NDc4MDIzNzE3MjM_6721f3ae-3f48-464d-aae5-a85afb30db20"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i2a3182f5dff54f47b4499893a144b1b4_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzQ5NDc4MDIzNzE1ODY_63ac26b5-8d86-4af5-9057-9fcf48fb966f"
      unitRef="shares">228185</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="ia3e5ae4db477415f918c4c501f2db321_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzQ5NDc4MDIzNzE1OTU_5ec68c73-46d1-4834-a515-05ca7f17063d"
      unitRef="shares">3493240</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i73d52a526fee45ed9d942b5990ac2764_I20211026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzQ5NDc4MDIzNTQ5Mjc_bd0c7131-359f-4cd8-8654-9844c07c3ae2"
      unitRef="shares">607000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0Xzg3OTYwOTMwMzU3NjM_3e8cfd66-964e-440a-8b0c-449707dd603c">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Shares available for future grant under the Company&#x2019;s 2016 and 2021 Plan consist of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#160;&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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Shares available for future grant&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,493,240&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;650,170&#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;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo0MjUxNDFlNGNlYjU0NmYzOGYwZjJlYjMwYTU1OWRlYi90YWJsZXJhbmdlOjQyNTE0MWU0Y2ViNTQ2ZjM4ZjBmMmViMzBhNTU5ZGViXzItMS0xLTEtMjUxMzI_afeb1184-0131-49b0-b51c-f6309c7e9c41"
      unitRef="shares">3493240</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo0MjUxNDFlNGNlYjU0NmYzOGYwZjJlYjMwYTU1OWRlYi90YWJsZXJhbmdlOjQyNTE0MWU0Y2ViNTQ2ZjM4ZjBmMmViMzBhNTU5ZGViXzItMy0xLTEtMjUxMzI_9b9fc060-bf32-4ceb-9c8b-45a921712027"
      unitRef="shares">650170</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0Xzg3OTYwOTMwMzU3NjQ_5a14202b-8a0b-4542-aed7-4d7bbdecc8ec">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes the stock option activities under the Company&#x2019;s 2013 and 2016 Plans:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:39.657%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.051%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.994%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Options Outstanding&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:'Arial',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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term (Years)&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Values&lt;br/&gt;($&#x2018;000s)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Balances&#x2014;December&#160;31, 2020&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,073,584&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.85&#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="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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7.90&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13,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;/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:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Granted&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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 style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Exercised&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,362,327)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.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;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:bottom"&gt;&lt;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Canceled&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(304,087)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Balance&#x2014;December&#160;31, 2021&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,407,170&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7.16&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;108,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Options vested and exercisable&#x2014;December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,209,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6.36&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;65,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Options vested and exercisable&#x2014;December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,157,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6.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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,398&#160;&lt;/span&gt;&lt;/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:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzctMS0xLTEtMjUxMzI_3976524d-e569-44c3-8b2d-c5e05f0f5262"
      unitRef="shares">7073584</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzctMy0xLTEtMjUxMzI_3309da57-ab54-4d28-bdc8-212fb52b8df8"
      unitRef="usdPerShare">0.85</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzctNS0xLTEtMjUxMzI_fd1b3d7c-e747-4ebb-b2a8-0b01c50969a5">P7Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzctNy0xLTEtMjUxMzI_ddf139e6-4ad1-4578-8d89-1adbb5146ceb"
      unitRef="usd">13348000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzgtMS0xLTEtMjUxMzI_a807220a-c724-42da-b5d0-30eb62225842"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzgtMy0xLTEtMjUxMzI_430d582d-1e7c-4e1f-80ba-a0eed3174ece"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzktMS0xLTEtMjUxMzI_f7aca708-6fab-4b01-aa54-2353ca4992e9"
      unitRef="shares">1362327</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzktMy0xLTEtMjUxMzI_b2288670-61ad-4ab7-869e-edf01e2c4a73"
      unitRef="usdPerShare">0.44</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzEwLTEtMS0xLTI1MTMy_e9457c21-496c-441a-bddb-d289871f9dbc"
      unitRef="shares">304087</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzEwLTMtMS0xLTI1MTMy_17c1af08-d4fa-40a1-9fb3-c0738cb4aafc"
      unitRef="usdPerShare">0.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzExLTEtMS0xLTI1MTMy_a9bfc210-bc9a-4c58-a920-1f9439498430"
      unitRef="shares">5407170</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzExLTMtMS0xLTI1MTMy_fc14dbd2-9709-4976-897d-d71d5e002c61"
      unitRef="usdPerShare">0.96</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzExLTUtMS0xLTI1MTMy_d0e30ca0-7375-4934-b888-0e4242ebb501">P7Y1M28D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzExLTctMS0xLTI1MTMy_2d123641-a4f0-40de-9e29-07eec08b7436"
      unitRef="usd">108964000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableNumber
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzExLTEtMS0xLTQzMzMz_d1f7dcee-4fab-4229-968f-3c29fb42ba49"
      unitRef="shares">3209726</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableNumber>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableWeightedAverageExercisePrice
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzExLTMtMS0xLTQzMzMz_47fe8d69-712a-4d7c-b110-e8f4e9cfef51"
      unitRef="usdPerShare">0.62</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableWeightedAverageExercisePrice>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableWeightedAverageRemainingContractualTerm
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzExLTUtMS0xLTQzMzMz_d6fdc8d7-a67e-41d6-9a90-98f189676202">P6Y4M9D</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableWeightedAverageRemainingContractualTerm>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableIntrinsicValue
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzExLTctMS0xLTQzMzMz_977ff4da-9671-40c1-8043-ec71a89ef66c"
      unitRef="usd">65752000</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableIntrinsicValue>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableNumber
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzEyLTEtMS0xLTI1MTMy_39868fa8-4c72-473d-a3f9-4a11c4933d9c"
      unitRef="shares">3157172</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableNumber>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableWeightedAverageExercisePrice
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzEyLTMtMS0xLTI1MTMy_40a2604b-4b27-4de9-b402-c2188424ce9b"
      unitRef="usdPerShare">0.40</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableWeightedAverageExercisePrice>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableWeightedAverageRemainingContractualTerm
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzEyLTUtMS0xLTI1MTMy_531111d9-cc64-45ab-b705-44122a270079">P6Y5M12D</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableWeightedAverageRemainingContractualTerm>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableIntrinsicValue
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTo5ZDc3ZWM4N2YzNzI0NGM4YTI0ODUwZTYyYjc3N2U2Ni90YWJsZXJhbmdlOjlkNzdlYzg3ZjM3MjQ0YzhhMjQ4NTBlNjJiNzc3ZTY2XzEyLTctMS0xLTI1MTMy_782a62d7-b676-411c-be94-85af2bdba0f0"
      unitRef="usd">7398000</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExercisableIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzIxOTkwMjMyNjgzNTE_3057ece5-fed4-494c-89b0-198a9d3a7795"
      unitRef="usd">9000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzIxOTkwMjMyNjgzNjA_d58e2a89-765a-4748-b342-98363269699f"
      unitRef="usd">400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValueVested
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzEwOTk1MTE2MzU4MjA_798b664c-bc8a-45e3-a311-fe630f41c2f4"
      unitRef="usd">500000</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValueVested>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValueVested
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzIxOTkwMjMyNjgzOTY_b974070f-f259-4e1d-a512-107cb3bd88a9"
      unitRef="usd">300000</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantDateFairValueVested>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzEwOTk1MTE2MzU4NDg_5bf7bc40-0b61-48f5-8ec4-c99ab611eeb5"
      unitRef="usd">600000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzEwOTk1MTE2MzU4NDQ_f86f1b09-3286-4b84-b277-60619ae36a26"
      unitRef="usd">200000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzUyNjc_28eb79b6-ac38-43be-8294-ccdf86bc9be4"
      unitRef="usd">900000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzU0MTk_2b80608c-c852-4e58-890a-15bef95d2a81">P2Y7M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="i829f0a5f9aef4e36acf0007cde9b3dfe_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzQ5NDc4MDIzNzE3MzM_d3c8f21f-b55e-4186-80d9-7a502e477c41">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i829f0a5f9aef4e36acf0007cde9b3dfe_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzE2NDkyNjc0NDY0NzM0_621e46aa-ba7a-4187-b1de-8389899889eb">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i2ff462773926498186edacde2a82475e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzQ5NDc4MDIzNzM5MzI_ce50ed96-7ba0-4664-805b-6ab96ab19204"
      unitRef="number">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i2ff462773926498186edacde2a82475e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzE2NDkyNjc0NDY0ODM1_877d91c0-2f62-4df2-8918-74130d489f04">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i9220a7773ed0422f8e0f514fb5ce0282_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzE2NDkyNjc0NDY0ODU0_d789c568-52d1-42d5-8f5e-9cdec2c8de07">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzY1OTA_13f59b79-ebc5-4eef-bf90-e3c7bae13e28"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0Xzg3OTYwOTMwMzU3NjU_c38e7f28-2906-45a5-9f2e-e12b540f9e41">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes the stock option valuation assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.778%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.022%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Fair value of common stock&lt;/span&gt;&lt;/div&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 style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$0.60&#160;-&#160;$2.74&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:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;33.9%&#160;-&#160;39.9%&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5.4&#160;-&#160;6.1&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:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.3%&#160;-&#160;1.5%&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsCommonStockFairValue
      contextRef="iecb86ed3a5264f61a6e354edf86bce1e_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpkZTU5MTY5MjdlMWY0ZjIzYjVhYjc5MDZlNzA1ZTYyOC90YWJsZXJhbmdlOmRlNTkxNjkyN2UxZjRmMjNiNWFiNzkwNmU3MDVlNjI4XzItMS0xLTEtMjUxMzIvdGV4dHJlZ2lvbjoxZDg0OTFmMjE1NmM0MTJkYTVhM2YxNDk2ZWRiMTUxN180_7a45a210-4f6d-4ac1-af0b-949414d8433e"
      unitRef="usdPerShare">0.60</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsCommonStockFairValue>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsCommonStockFairValue
      contextRef="id6484f6647c34df180e5901c42401cac_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpkZTU5MTY5MjdlMWY0ZjIzYjVhYjc5MDZlNzA1ZTYyOC90YWJsZXJhbmdlOmRlNTkxNjkyN2UxZjRmMjNiNWFiNzkwNmU3MDVlNjI4XzItMS0xLTEtMjUxMzIvdGV4dHJlZ2lvbjoxZDg0OTFmMjE1NmM0MTJkYTVhM2YxNDk2ZWRiMTUxN185_d9dfbca1-2fa5-4426-81c2-79678c145846"
      unitRef="usdPerShare">2.74</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsCommonStockFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="i8d85fbc1e0d040b89a6f448e1f6cc477_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpkZTU5MTY5MjdlMWY0ZjIzYjVhYjc5MDZlNzA1ZTYyOC90YWJsZXJhbmdlOmRlNTkxNjkyN2UxZjRmMjNiNWFiNzkwNmU3MDVlNjI4XzMtMS0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowNjIzOGE3ZTFiYjk0OWJiYjlhMDM3ZTEyZGM3MzE0Zl80_719b0586-c24d-4b14-9aa4-feaa2edd34ff"
      unitRef="number">0.339</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="i8d85fbc1e0d040b89a6f448e1f6cc477_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpkZTU5MTY5MjdlMWY0ZjIzYjVhYjc5MDZlNzA1ZTYyOC90YWJsZXJhbmdlOmRlNTkxNjkyN2UxZjRmMjNiNWFiNzkwNmU3MDVlNjI4XzMtMS0xLTEtMjUxMzIvdGV4dHJlZ2lvbjowNjIzOGE3ZTFiYjk0OWJiYjlhMDM3ZTEyZGM3MzE0Zl85_f0374ab1-d883-4ce1-982b-f13d5b18b845"
      unitRef="number">0.399</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="iecb86ed3a5264f61a6e354edf86bce1e_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpkZTU5MTY5MjdlMWY0ZjIzYjVhYjc5MDZlNzA1ZTYyOC90YWJsZXJhbmdlOmRlNTkxNjkyN2UxZjRmMjNiNWFiNzkwNmU3MDVlNjI4XzQtMS0xLTEtMjUxMzIvdGV4dHJlZ2lvbjpiZTY2NmE2YTU3NTk0ZjAyYTQ3Nzc2N2MxNjRlYThhOF80_12bca91a-5c50-410f-86fe-1773847745a7">P5Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="id6484f6647c34df180e5901c42401cac_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpkZTU5MTY5MjdlMWY0ZjIzYjVhYjc5MDZlNzA1ZTYyOC90YWJsZXJhbmdlOmRlNTkxNjkyN2UxZjRmMjNiNWFiNzkwNmU3MDVlNjI4XzQtMS0xLTEtMjUxMzIvdGV4dHJlZ2lvbjpiZTY2NmE2YTU3NTk0ZjAyYTQ3Nzc2N2MxNjRlYThhOF85_b21e407f-5bcd-44d6-8ba8-685b0e5c8b86">P6Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="i8d85fbc1e0d040b89a6f448e1f6cc477_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpkZTU5MTY5MjdlMWY0ZjIzYjVhYjc5MDZlNzA1ZTYyOC90YWJsZXJhbmdlOmRlNTkxNjkyN2UxZjRmMjNiNWFiNzkwNmU3MDVlNjI4XzUtMS0xLTEtMjUxMzIvdGV4dHJlZ2lvbjo2Y2I1OTEzOGMzZDQ0NmQwYTg4ZDM5ZThmZTNlMzYzMl80_6b7e6a05-eda3-451f-959c-e2283115b50a"
      unitRef="number">0.003</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="i8d85fbc1e0d040b89a6f448e1f6cc477_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpkZTU5MTY5MjdlMWY0ZjIzYjVhYjc5MDZlNzA1ZTYyOC90YWJsZXJhbmdlOmRlNTkxNjkyN2UxZjRmMjNiNWFiNzkwNmU3MDVlNjI4XzUtMS0xLTEtMjUxMzIvdGV4dHJlZ2lvbjo2Y2I1OTEzOGMzZDQ0NmQwYTg4ZDM5ZThmZTNlMzYzMl85_122870cb-15e7-46d2-ba77-3f9d5a0529df"
      unitRef="number">0.015</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i8d85fbc1e0d040b89a6f448e1f6cc477_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpkZTU5MTY5MjdlMWY0ZjIzYjVhYjc5MDZlNzA1ZTYyOC90YWJsZXJhbmdlOmRlNTkxNjkyN2UxZjRmMjNiNWFiNzkwNmU3MDVlNjI4XzYtMS0xLTEtMjUxMzI_e33c99a8-62e9-4a16-852b-3abc7c9ebf59"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzQ5NDc4MDIzMzg1NTM_35c046ad-47eb-4e14-be29-ad019f72f399"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0Xzg3OTYwOTMwMzU3NjY_c119ceae-cd4b-4f49-8d82-c48e0f1fbd02">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes the restricted stock units activities under the Company&#x2019;s 2013, 2016 and 2021 Plans:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.848%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:58.839%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.626%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.629%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Restricted Stock&#160;Units&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average Grant&#160;Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Unvested&#x2014;December&#160;31, 2020&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;843,095&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2.25&#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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Granted&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,607,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6.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;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Vested&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(210,050)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Canceled&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(315,600)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Unvested&#x2014;December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,925,097&#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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5.60&#160;&lt;/span&gt;&lt;/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:NonvestedRestrictedStockSharesActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i2cce025767aa438987d6c3529b0b07eb_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpjZGYwZTRkYjI2ZTQ0MmQwOWRkYjE1ODQ3YTM2YzE4ZS90YWJsZXJhbmdlOmNkZjBlNGRiMjZlNDQyZDA5ZGRiMTU4NDdhMzZjMThlXzYtMS0xLTEtMjUxMzI_fc2f7d84-f704-4642-a0d2-be5d8e5edd01"
      unitRef="shares">843095</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i2cce025767aa438987d6c3529b0b07eb_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpjZGYwZTRkYjI2ZTQ0MmQwOWRkYjE1ODQ3YTM2YzE4ZS90YWJsZXJhbmdlOmNkZjBlNGRiMjZlNDQyZDA5ZGRiMTU4NDdhMzZjMThlXzYtMy0xLTEtMjUxMzI_d3866e2c-7e33-4c14-b25c-c38fd94598f7"
      unitRef="usdPerShare">2.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i383bb80805e1466285f561078cabeb03_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpjZGYwZTRkYjI2ZTQ0MmQwOWRkYjE1ODQ3YTM2YzE4ZS90YWJsZXJhbmdlOmNkZjBlNGRiMjZlNDQyZDA5ZGRiMTU4NDdhMzZjMThlXzctMS0xLTEtMjUxMzI_ccb48602-27ac-436a-992e-0d2319437aef"
      unitRef="shares">3607652</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i383bb80805e1466285f561078cabeb03_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpjZGYwZTRkYjI2ZTQ0MmQwOWRkYjE1ODQ3YTM2YzE4ZS90YWJsZXJhbmdlOmNkZjBlNGRiMjZlNDQyZDA5ZGRiMTU4NDdhMzZjMThlXzctMy0xLTEtMjUxMzI_295af148-1adb-4021-b9f1-9f72226e00ba"
      unitRef="usdPerShare">6.09</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i383bb80805e1466285f561078cabeb03_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpjZGYwZTRkYjI2ZTQ0MmQwOWRkYjE1ODQ3YTM2YzE4ZS90YWJsZXJhbmdlOmNkZjBlNGRiMjZlNDQyZDA5ZGRiMTU4NDdhMzZjMThlXzgtMS0xLTEtMjUxMzI_f3ddc0f7-b2a7-4e4f-b11f-dd305fbae219"
      unitRef="shares">210050</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i383bb80805e1466285f561078cabeb03_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpjZGYwZTRkYjI2ZTQ0MmQwOWRkYjE1ODQ3YTM2YzE4ZS90YWJsZXJhbmdlOmNkZjBlNGRiMjZlNDQyZDA5ZGRiMTU4NDdhMzZjMThlXzgtMy0xLTEtMjUxMzI_4d3be760-678d-4be1-832c-fd4cc3a20784"
      unitRef="usdPerShare">1.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i383bb80805e1466285f561078cabeb03_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpjZGYwZTRkYjI2ZTQ0MmQwOWRkYjE1ODQ3YTM2YzE4ZS90YWJsZXJhbmdlOmNkZjBlNGRiMjZlNDQyZDA5ZGRiMTU4NDdhMzZjMThlXzktMS0xLTEtMjUxMzI_2b9fb79a-a0e5-4db7-bcad-d388101d66b2"
      unitRef="shares">315600</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i383bb80805e1466285f561078cabeb03_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpjZGYwZTRkYjI2ZTQ0MmQwOWRkYjE1ODQ3YTM2YzE4ZS90YWJsZXJhbmdlOmNkZjBlNGRiMjZlNDQyZDA5ZGRiMTU4NDdhMzZjMThlXzktMy0xLTEtMjUxMzI_2c4d3fc9-acd1-42f9-b471-36121ff285cb"
      unitRef="usdPerShare">4.72</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i9a9cfdb1e0724d89bcabe9a1c4d0c086_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpjZGYwZTRkYjI2ZTQ0MmQwOWRkYjE1ODQ3YTM2YzE4ZS90YWJsZXJhbmdlOmNkZjBlNGRiMjZlNDQyZDA5ZGRiMTU4NDdhMzZjMThlXzEwLTEtMS0xLTI1MTMy_d679309b-5477-4cbc-b394-ecf7c5e4f2b2"
      unitRef="shares">3925097</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i9a9cfdb1e0724d89bcabe9a1c4d0c086_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpjZGYwZTRkYjI2ZTQ0MmQwOWRkYjE1ODQ3YTM2YzE4ZS90YWJsZXJhbmdlOmNkZjBlNGRiMjZlNDQyZDA5ZGRiMTU4NDdhMzZjMThlXzEwLTMtMS0xLTI1MTMy_ee0fc632-5f94-40f8-a533-f688c368941b"
      unitRef="usdPerShare">5.60</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodVestedGrantDateFairValue
      contextRef="i383bb80805e1466285f561078cabeb03_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzE3MDQyNDMwMjYwNzc0_81610a72-f8c0-4645-837b-ba0ee3e752f8"
      unitRef="usd">400000</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodVestedGrantDateFairValue>
    <aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodVestedGrantDateFairValue
      contextRef="i9e8ba084d41649c68b8258fb037042b7_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzQ5NDc4MDIzMzg1NjE_1c7b1efa-e5c7-472e-bfe2-7e52aad66872"
      unitRef="usd">100000</aip:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodVestedGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i9a9cfdb1e0724d89bcabe9a1c4d0c086_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzIxOTkwMjMyNjc4NTU_c7676129-f53e-48b3-9beb-4b2792185094"
      unitRef="usd">17100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i383bb80805e1466285f561078cabeb03_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzIxOTkwMjMyNjgwMTk_5a01d728-6df7-42a8-afa9-c445ae5e2276">P2Y10M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzQ5NDc4MDIzNzE2ODc_eb29de4c-8a68-4e25-a8c5-ef98eee8aa3c">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0XzQ5NDc4MDIzNzE3MDg_306268bd-3ea8-45a5-a95a-9a591125fb4e">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90ZXh0cmVnaW9uOmExZTkwZjk2ZTIwODRmNzliYTVmNTU0MDcwMzk3M2I0Xzg3OTYwOTMwMzU3Njg_c3024feb-0a03-42de-96cc-41e1e7c44876">The following table presents the amount of stock-based compensation, inclusive of the cumulative stock-based compensation expense recognize upon the effectiveness of the Company&#x2019;s IPO, related to stock-based awards to employees and non-employees on the Company&#x2019;s consolidated statements of income (loss) (in thousands):&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Research and development&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,495&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Sales and marketing&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;General and administrative&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;103&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,510&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;458&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i2d98561ea66240c09592ea110e8d63bd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpmYWUwMGU2N2I1NDc0MDBiOGYxOTIyMGE0Y2RjM2U3Ni90YWJsZXJhbmdlOmZhZTAwZTY3YjU0NzQwMGI4ZjE5MjIwYTRjZGMzZTc2XzEtMS0xLTEtMzI5Nzk_56a7df35-e193-4203-b721-78dad26e3b21"
      unitRef="usd">3495000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5cc1251174e04a91b0923a9a064f1cd0_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpmYWUwMGU2N2I1NDc0MDBiOGYxOTIyMGE0Y2RjM2U3Ni90YWJsZXJhbmdlOmZhZTAwZTY3YjU0NzQwMGI4ZjE5MjIwYTRjZGMzZTc2XzEtMy0xLTEtMzI5Nzk_3f78ac47-845e-422f-aeae-624183bfad76"
      unitRef="usd">263000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6463988724a2407cb321bc8447c1b016_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpmYWUwMGU2N2I1NDc0MDBiOGYxOTIyMGE0Y2RjM2U3Ni90YWJsZXJhbmdlOmZhZTAwZTY3YjU0NzQwMGI4ZjE5MjIwYTRjZGMzZTc2XzItMS0xLTEtMzI5Nzk_bc044823-1fae-47e2-a5bb-1759b7779b7b"
      unitRef="usd">797000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic00193b7c6864fa99642ccbffb24e6f2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpmYWUwMGU2N2I1NDc0MDBiOGYxOTIyMGE0Y2RjM2U3Ni90YWJsZXJhbmdlOmZhZTAwZTY3YjU0NzQwMGI4ZjE5MjIwYTRjZGMzZTc2XzItMy0xLTEtMzI5Nzk_7181b975-664c-4b0f-8133-31dfca771f13"
      unitRef="usd">92000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i81d0d4d7acb846dbb89c5a2a297bc935_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpmYWUwMGU2N2I1NDc0MDBiOGYxOTIyMGE0Y2RjM2U3Ni90YWJsZXJhbmdlOmZhZTAwZTY3YjU0NzQwMGI4ZjE5MjIwYTRjZGMzZTc2XzMtMS0xLTEtMzI5Nzk_580d0fc0-09db-4817-99c2-4cf8ee5c8f19"
      unitRef="usd">1218000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i88444fadd83e44d28a8d3d8e97306f5d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpmYWUwMGU2N2I1NDc0MDBiOGYxOTIyMGE0Y2RjM2U3Ni90YWJsZXJhbmdlOmZhZTAwZTY3YjU0NzQwMGI4ZjE5MjIwYTRjZGMzZTc2XzMtMy0xLTEtMzI5Nzk_e039d75d-a429-4b1d-99b1-dab1869066f9"
      unitRef="usd">103000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpmYWUwMGU2N2I1NDc0MDBiOGYxOTIyMGE0Y2RjM2U3Ni90YWJsZXJhbmdlOmZhZTAwZTY3YjU0NzQwMGI4ZjE5MjIwYTRjZGMzZTc2XzQtMS0xLTEtMzI5Nzk_36c369ee-63d4-4476-a1c8-a1c53297948b"
      unitRef="usd">5510000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNDgvZnJhZzphMWU5MGY5NmUyMDg0Zjc5YmE1ZjU1NDA3MDM5NzNiNC90YWJsZTpmYWUwMGU2N2I1NDc0MDBiOGYxOTIyMGE0Y2RjM2U3Ni90YWJsZXJhbmdlOmZhZTAwZTY3YjU0NzQwMGI4ZjE5MjIwYTRjZGMzZTc2XzQtMy0xLTEtMzI5Nzk_ffba922b-d6c7-423a-8acf-8f721b9043ee"
      unitRef="usd">458000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzQ5NDc4MDIzMzAxMDg_8d3d92a6-c0bd-46f6-a1ac-72b8cc08a512">INCOME TAXES&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;For financial reporting purposes, loss before provision for income taxes, includes the following components (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Domestic&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(11,253)&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,307)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(11,091)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(927)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Loss before provision for income taxes&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(22,344)&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(2,234)&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Provision for Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The provision for income taxes consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Federal&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;State&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total current&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;934&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Deferred:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Federal&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;State&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total Deferred tax&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,040&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,026&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Income tax (provision) benefit related to continuing operations differ from the amounts computed by applying the statutory income tax rate of 21% to pretax loss as follows (in&#160;thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;U.S. Federal (provision) benefit&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;At Statutory Rate&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;State Taxes&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Valuation Allowance&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(33.1)&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(86.7)&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign Tax Differential&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Tax Credits&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;72.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Stock Based Compensation&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1.0)&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;M&amp;amp;A Transaction Costs&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(8.2)&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign Earnings and Adjustments&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(0.2)&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(11.0)&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign Withholding Tax&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(0.8)&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(67.1)&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;CARES Act&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;15.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Other&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(4.7)&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(45.9)&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Deferred Tax Assets and Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Significant components of the Company&#x2019;s deferred tax assets and liabilities are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Deferred Tax Assets:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Federal&#160;&amp;amp; State NOL carryforward&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;853&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;831&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Research&#160;&amp;amp; Other credits&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,042&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Deferred revenue&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;8,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Reserves and accruals&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Other intangibles&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Lease liabilities&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total Gross Deferred tax asset&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;17,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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10,086&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Less: Valuation allowance&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(16,390)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(9,019)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total Deferred tax assets&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,000&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,067&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Deferred Tax Liabilities:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Property and equipment&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(290)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(134)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Prepaid expenses&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(447)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(499)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Right-of-use assets&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(263)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(329)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total Gross Deferred tax liabilities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(962)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Net Deferred tax assets&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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: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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;105&#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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The provisions of ASC Topic 740, Accounting for Income Taxes (ASC 740), require an assessment of both positive and negative evidence when determining whether it is more likely than not that deferred tax assets are recoverable. For the years ended December&#160;31, 2021 and 2020, based on all available objective evidence, including the existence of cumulative losses, the Company determined that it was not more likely than not that the net deferred tax assets were fully realizable. Accordingly, the Company determined that a full valuation allowance against its U.S. (federal and state), French and China deferred tax assets is appropriate. The Company intends to maintain a full valuation allowance on net deferred tax assets until sufficient positive evidence exists to support reversal of the valuation allowance. During the years ended December&#160;31, 2021 and 2020, the valuation allowance was $16.4 million and $9.0 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The valuation allowance increased by $7.4 million and $2.0 million during the years ended December&#160;31, 2021 and 2020, respectively, primarily due to changes in the U.S. and foreign deferred revenue and stock compensation deferred tax assets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Operating Loss and Tax Credit Carryforwards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;As of December 31, 2021, the Company had nil net operating loss carryforward for federal income tax purposes. The Company had a total state net operating loss carryforward of approximately $3.7 million, which will begin to expire in 2030. Utilization of some of the federal and state net operating loss and credit carryforwards are subject to annual limitations due to the &#x201c;change in ownership&#x201d; provisions of the Internal Revenue Code of 1986 and similar state provisions. The annual limitations may result in the expiration of net operating losses and credits before utilization. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company has federal research and development tax credits of approximately $3.6 million, which will begin to expire in 2035 and California research and development tax credits of approximately $2.6 million which can be carried forward indefinitely. These tax credits are subject to the same limitations discussed above. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;On December 27, 2020, the U.S. government enacted the Consolidated Appropriations Act, 2021, which enhances and expands certain provisions of the CARES Act. This legislative act did not have a material impact on the Company&#x2019;s consolidated financial results.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;On March 11, 2021, the American Rescue Plan Act of 2021 (American Rescue Plan) was signed into law to provide additional relief in connection with the ongoing COVID-19 pandemic. The American Rescue Plan includes, among other things, provisions relating to PPP loan expansion, defined pension contributions, excessive employee remuneration, and the repeal of the election to allocate interest expense on a worldwide basis. Under ASC 740, the effects of new legislation are recognized upon enactment. Accordingly, the American Rescue Plan is effective beginning in the quarter that includes March 11, 2021. These provisions did not have a material impact on the Company&#x2019;s consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-style:italic;font-weight:700;line-height:120%"&gt;Unrecognized Tax Benefits&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company adopted the provisions of ASC 740, which requires companies to determine whether it is &#x201c;more likely than not&#x201d; that a tax position will be sustained upon examination by the appropriate taxing authorities before any tax benefit can be recorded in the financial statements. It also provides guidance on the recognition, measurement, classification and interest and penalties related to uncertain tax positions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company has the following activity relating to unrecognized tax benefits (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Beginning balance&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,522&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Gross decreases&#x2014;Tax Positions in Prior Periods&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Gross increases&#x2014;Tax Positions in Current Period&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,111&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,522&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The unrecognized tax benefits, if recognized, would not affect the effective income tax rate due to the valuation allowance that currently offsets deferred tax assets. Interest and penalties were nil. The Company does not expect the unrecognized tax benefits to change significantly over the next twelve months.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company files federal and state income tax returns. For U.S. federal and state income tax purposes, the statute of limitations currently remains open for the years ending December 31, 2018 to present and December 31, 2017 to present, respectively. In addition, all of the net operating losses and research and development credit carryforwards since inception that could be utilized in future years may be subject to examination.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzQ5NDc4MDIzMzAxMDk_0ca93159-aa3b-48d5-ab0a-683eef107064">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;For financial reporting purposes, loss before provision for income taxes, includes the following components (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Domestic&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(11,253)&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,307)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(11,091)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(927)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Loss before provision for income taxes&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(22,344)&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(2,234)&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0MmU1ZWMzMmFmNTg0MDA3YWY1YWU5MzFhMGE3YmFlNC90YWJsZXJhbmdlOjQyZTVlYzMyYWY1ODQwMDdhZjVhZTkzMWEwYTdiYWU0XzItMS0xLTEtMjUxMzI_015a31dc-f7f6-4a72-b443-c854d1659f94"
      unitRef="usd">-11253000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0MmU1ZWMzMmFmNTg0MDA3YWY1YWU5MzFhMGE3YmFlNC90YWJsZXJhbmdlOjQyZTVlYzMyYWY1ODQwMDdhZjVhZTkzMWEwYTdiYWU0XzItMy0xLTEtMjUxMzI_2f1401e6-7eb4-42a2-8d24-788bf43ba66c"
      unitRef="usd">-1307000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0MmU1ZWMzMmFmNTg0MDA3YWY1YWU5MzFhMGE3YmFlNC90YWJsZXJhbmdlOjQyZTVlYzMyYWY1ODQwMDdhZjVhZTkzMWEwYTdiYWU0XzMtMS0xLTEtMjUxMzI_9b2f9fb2-f7c4-4bca-af0c-5b78e78c2508"
      unitRef="usd">-11091000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0MmU1ZWMzMmFmNTg0MDA3YWY1YWU5MzFhMGE3YmFlNC90YWJsZXJhbmdlOjQyZTVlYzMyYWY1ODQwMDdhZjVhZTkzMWEwYTdiYWU0XzMtMy0xLTEtMjUxMzI_15d814b6-e6a4-4694-bbc1-6f0317f07ee8"
      unitRef="usd">-927000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0MmU1ZWMzMmFmNTg0MDA3YWY1YWU5MzFhMGE3YmFlNC90YWJsZXJhbmdlOjQyZTVlYzMyYWY1ODQwMDdhZjVhZTkzMWEwYTdiYWU0XzQtMS0xLTEtMjUxMzI_20889dd4-b84b-43c6-9c63-6fff775253b6"
      unitRef="usd">-22344000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0MmU1ZWMzMmFmNTg0MDA3YWY1YWU5MzFhMGE3YmFlNC90YWJsZXJhbmdlOjQyZTVlYzMyYWY1ODQwMDdhZjVhZTkzMWEwYTdiYWU0XzQtMy0xLTEtMjUxMzI_0fd3d23b-4663-4676-8c93-134b89a5555b"
      unitRef="usd">-2234000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzQ5NDc4MDIzMzAxMTA_01b2fb1b-984e-4a09-a194-1339fa8e6244">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The provision for income taxes consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Federal&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;State&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total current&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;934&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Deferred:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Federal&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;State&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total Deferred tax&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,040&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,026&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzMtMS0xLTEtMjUxMzI_4f2c8b70-1dc3-46f7-a5e7-a7f8416a40c2"
      unitRef="usd">13000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzMtMy0xLTEtMjUxMzI_cd2ee7df-f432-41b9-832a-dc72a8a6b01e"
      unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzQtMS0xLTEtMjUxMzI_e19ff264-2693-49d8-8561-0cdce207c161"
      unitRef="usd">17000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzQtMy0xLTEtMjUxMzI_9e48f38c-5667-4e64-94f6-ecf048ac2a46"
      unitRef="usd">18000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzUtMS0xLTEtMjUxMzI_f7f8ef58-fc5d-43b5-a5fb-2d8327d734f7"
      unitRef="usd">904000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzUtMy0xLTEtMjUxMzI_7b46ed29-8491-41fc-a55d-ec1111c4a6ce"
      unitRef="usd">1008000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzYtMS0xLTEtMjUxMzI_ba5629ef-7875-4002-a3b8-9e1f23cffb2a"
      unitRef="usd">934000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzYtMy0xLTEtMjUxMzI_d44a1675-64f8-442c-b0ed-09ea8a7c2120"
      unitRef="usd">1026000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzgtMS0xLTEtMjUxMzI_dde198d5-e607-4bef-bab4-1dcd13fd3e25"
      unitRef="usd">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzgtMy0xLTEtMjUxMzI_608a6121-3b6c-4222-82b5-7e08b2121d5a"
      unitRef="usd">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzktMS0xLTEtMjUxMzI_173887e4-53ea-4002-926e-0e1078f9e668"
      unitRef="usd">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzktMy0xLTEtMjUxMzI_842a5016-198f-47f3-b53e-e43a92a9610b"
      unitRef="usd">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzEwLTEtMS0xLTI1MTMy_0f8bd4d7-d08b-4192-81f4-17f3700d7146"
      unitRef="usd">106000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzEwLTMtMS0xLTI1MTMy_7796ea36-d93d-4ac3-b45d-41284c19308d"
      unitRef="usd">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzExLTEtMS0xLTI1MTMy_80b0e6d8-5ea2-4c00-be75-209c16ba0fbd"
      unitRef="usd">106000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzExLTMtMS0xLTI1MTMy_1bf26ab7-fcc1-49ba-9e9c-d034c6382756"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzEyLTEtMS0xLTI1MTMy_6cafb013-dace-4fcc-a0bb-9103ece5f74f"
      unitRef="usd">1040000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZToxNzRmODNiOGU2ZmQ0YTZmOGE2OWQ5MmUzYWIyYzQ5Ny90YWJsZXJhbmdlOjE3NGY4M2I4ZTZmZDRhNmY4YTY5ZDkyZTNhYjJjNDk3XzEyLTMtMS0xLTI1MTMy_c2d3ff10-21fc-4fc3-a291-d5c74c59e345"
      unitRef="usd">1026000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzQ5NDc4MDIzMzAxMTE_4e246cce-2dc8-4c6d-8fa1-ffd726944c6a">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Income tax (provision) benefit related to continuing operations differ from the amounts computed by applying the statutory income tax rate of 21% to pretax loss as follows (in&#160;thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;U.S. Federal (provision) benefit&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;At Statutory Rate&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;State Taxes&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Valuation Allowance&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(33.1)&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(86.7)&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign Tax Differential&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Tax Credits&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;72.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Stock Based Compensation&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1.0)&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;M&amp;amp;A Transaction Costs&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(8.2)&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign Earnings and Adjustments&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(0.2)&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(11.0)&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign Withholding Tax&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(0.8)&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(67.1)&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;CARES Act&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;15.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Other&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(4.7)&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(45.9)&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzMtMS0xLTEtMjUxMzI_e6868a41-bba4-421f-bfce-64ecfa0a308d"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzMtMy0xLTEtMjUxMzI_c6a2da6f-14f9-4909-a3a4-10ad1de6ef6f"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzQtMS0xLTEtMjUxMzI_fd909e04-4181-4b50-a2b9-4feb440106f3"
      unitRef="number">0.006</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzQtMy0xLTEtMjUxMzI_58d1790b-19b3-49b4-bc9b-031065f7f4e8"
      unitRef="number">0.100</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzUtMS0xLTEtMjUxMzI_055e9131-3f19-4459-8fd3-6ba90bcac845"
      unitRef="number">-0.331</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzUtMy0xLTEtMjUxMzI_a2ad21da-e563-4a68-893f-75da10006572"
      unitRef="number">-0.867</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzYtMS0xLTEtMjUxMzI_0807817b-8fa3-4e5e-83da-fad2710c0639"
      unitRef="number">0.060</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzYtMy0xLTEtMjUxMzI_89ebf753-ade6-401e-a018-a20b4e1eb188"
      unitRef="number">0.068</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzctMS0xLTEtMjUxMzI_7291b95d-657a-47f2-8e64-68720c8918ff"
      unitRef="number">-0.020</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzctMy0xLTEtMjUxMzI_d5333092-efd5-4979-b54f-5d46efe75df5"
      unitRef="number">-0.727</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzgtMS0xLTEtMjUxMzI_e5919068-9147-4ca4-9ae4-8ed46d2c1b40"
      unitRef="number">-0.010</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzgtMy0xLTEtMjUxMzI_1e96fcdd-1f99-4954-ba94-e478fc3a2629"
      unitRef="number">0.012</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <aip:EffectiveIncomeTaxRateReconciliationAcquisitionCostsPercent
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzktMS0xLTEtMjUxMzI_f2e3bbe6-3b56-49c5-8011-10c727a8c05f"
      unitRef="number">0.000</aip:EffectiveIncomeTaxRateReconciliationAcquisitionCostsPercent>
    <aip:EffectiveIncomeTaxRateReconciliationAcquisitionCostsPercent
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzktMy0xLTEtMjUxMzI_a1202533-44db-4887-b3f7-fd777bc5ffa2"
      unitRef="number">-0.082</aip:EffectiveIncomeTaxRateReconciliationAcquisitionCostsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzEwLTEtMS0xLTI1MTMy_29810de9-4101-47ea-9a8a-4e362fce1d20"
      unitRef="number">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings>
    <us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzEwLTMtMS0xLTI1MTMy_bbc74432-7274-40fd-87a9-5174e9b82378"
      unitRef="number">-0.110</us-gaap:EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings>
    <aip:EffectiveIncomeTaxRateReconciliationForeignWithholdingTaxPercent
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzExLTEtMS0xLTI1MTMy_e3b91cb3-7549-4ceb-af9d-aadfab7f9252"
      unitRef="number">-0.008</aip:EffectiveIncomeTaxRateReconciliationForeignWithholdingTaxPercent>
    <aip:EffectiveIncomeTaxRateReconciliationForeignWithholdingTaxPercent
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzExLTMtMS0xLTI1MTMy_40e95985-8d37-468c-91b3-9b84ef53b084"
      unitRef="number">-0.671</aip:EffectiveIncomeTaxRateReconciliationForeignWithholdingTaxPercent>
    <aip:EffectiveIncomeTaxRateReconciliationCARESActPercent
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzEyLTEtMS0xLTI1MTMy_2cccb5a4-6ef8-435b-a03c-275d9f843cac"
      unitRef="number">0.000</aip:EffectiveIncomeTaxRateReconciliationCARESActPercent>
    <aip:EffectiveIncomeTaxRateReconciliationCARESActPercent
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzEyLTMtMS0xLTI1MTMy_279dab6f-58cf-44a2-a88c-79455cf68921"
      unitRef="number">0.150</aip:EffectiveIncomeTaxRateReconciliationCARESActPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzEzLTEtMS0xLTI1MTMy_f5bee83a-07a9-4079-b6c1-b26b22458373"
      unitRef="number">0.008</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzEzLTMtMS0xLTI1MTMy_8186f993-1340-48d4-a61f-f221f7f12149"
      unitRef="number">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzE0LTEtMS0xLTI1MTMy_32f35aec-4105-44cf-a882-b1770fac0b42"
      unitRef="number">-0.047</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo0NzBlNTM4MWUxYjE0MWE5ODM5YTMxYmY1MWRmMzA2ZC90YWJsZXJhbmdlOjQ3MGU1MzgxZTFiMTQxYTk4MzlhMzFiZjUxZGYzMDZkXzE0LTMtMS0xLTI1MTMy_44cc561c-1f79-40f0-889a-685fb4a62bd6"
      unitRef="number">-0.459</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzQ5NDc4MDIzMzAxMTI_f8f70f5c-9a9a-4a86-95fd-9375c330b99c">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Significant components of the Company&#x2019;s deferred tax assets and liabilities are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Deferred Tax Assets:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Federal&#160;&amp;amp; State NOL carryforward&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;853&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;831&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Research&#160;&amp;amp; Other credits&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,042&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Deferred revenue&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;8,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Reserves and accruals&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Other intangibles&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Lease liabilities&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total Gross Deferred tax asset&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;17,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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10,086&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Less: Valuation allowance&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(16,390)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(9,019)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total Deferred tax assets&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,000&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,067&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Deferred Tax Liabilities:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Property and equipment&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(290)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(134)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Prepaid expenses&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(447)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(499)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Right-of-use assets&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(263)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(329)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total Gross Deferred tax liabilities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(962)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Net Deferred tax assets&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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: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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;105&#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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzMtMS0xLTEtMjUxMzI_5b7483f0-5828-4413-b3a8-db75a0eaed79"
      unitRef="usd">853000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzMtMy0xLTEtMjUxMzI_1444d569-104a-41d8-947b-6fc1b377a109"
      unitRef="usd">831000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzQtMS0xLTEtMjUxMzI_dc5ef6f1-bd5a-49d5-8ee0-03ad33d14770"
      unitRef="usd">5598000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzQtMy0xLTEtMjUxMzI_d6b68410-4e61-402c-96a3-a6fff2f876bc"
      unitRef="usd">5042000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzUtMS0xLTEtMjUxMzI_8676ce92-3a12-4d3a-9106-09aca38478e4"
      unitRef="usd">8380000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzUtMy0xLTEtMjUxMzI_91fc5c77-4ce5-4523-9d21-1491e47d1a90"
      unitRef="usd">3140000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzYtMS0xLTEtMjUxMzI_974b3e16-24fc-43c8-bc83-ee16c0b9095f"
      unitRef="usd">1000000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzYtMy0xLTEtMjUxMzI_57327611-c495-4928-b34f-44b000abaf57"
      unitRef="usd">510000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzctMS0xLTEtMjUxMzI_7fadbd98-f449-42c4-8589-12b1943080fd"
      unitRef="usd">953000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzctMy0xLTEtMjUxMzI_5509fa9b-6d29-4faa-8fed-8c31c5fd7042"
      unitRef="usd">41000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <aip:DeferredTaxAssetsOtherIntangibles
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzgtMS0xLTEtMjUxMzI_be4120f7-8c5d-48fc-9554-ed240bfbba07"
      unitRef="usd">327000</aip:DeferredTaxAssetsOtherIntangibles>
    <aip:DeferredTaxAssetsOtherIntangibles
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzgtMy0xLTEtMjUxMzI_6a888a1f-9da1-499d-a493-9766c2fb5e07"
      unitRef="usd">172000</aip:DeferredTaxAssetsOtherIntangibles>
    <aip:DeferredTaxAssetLeaseLiabilities
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzktMS0xLTEtMjUxMzI_93e8b652-55fd-4a46-86fe-52a7a81d0eda"
      unitRef="usd">279000</aip:DeferredTaxAssetLeaseLiabilities>
    <aip:DeferredTaxAssetLeaseLiabilities
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzktMy0xLTEtMjUxMzI_a0b5cfb7-ebca-4f6e-b50c-63549f56b434"
      unitRef="usd">350000</aip:DeferredTaxAssetLeaseLiabilities>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzEwLTEtMS0xLTI1MTMy_6acd7f8f-a76a-4119-9dec-f01ff1ae8400"
      unitRef="usd">17390000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzEwLTMtMS0xLTI1MTMy_7d626c7c-8cd6-411a-8e37-50a3f38ec241"
      unitRef="usd">10086000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzExLTEtMS0xLTI1MTMy_22353061-b64d-4f41-99a3-52537b00f3b0"
      unitRef="usd">16390000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzExLTMtMS0xLTI1MTMy_efa3c266-4cae-4d25-aaca-b9aca4cfb63d"
      unitRef="usd">9019000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzEyLTEtMS0xLTI1MTMy_7e6974f9-b5c6-4705-8010-6b8b715839b0"
      unitRef="usd">1000000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzEyLTMtMS0xLTI1MTMy_1540f4d8-d7b2-4994-bc5a-d8b1b81d3b4b"
      unitRef="usd">1067000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzE0LTEtMS0xLTI1MTMy_a7636ef1-ee86-4418-9d64-5240ba60224e"
      unitRef="usd">290000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzE0LTMtMS0xLTI1MTMy_fdb70444-a13f-497f-a3a7-f03219f66142"
      unitRef="usd">134000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzE1LTEtMS0xLTI1MTMy_479e156c-ba46-47bd-a0c0-730ae83592e1"
      unitRef="usd">447000</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzE1LTMtMS0xLTI1MTMy_e8390b8f-27c7-4614-a0dd-85fe513397fe"
      unitRef="usd">499000</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzE2LTEtMS0xLTI1MTMy_e99464cc-e337-4110-8993-aab6a6728a91"
      unitRef="usd">263000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzE2LTMtMS0xLTI1MTMy_bbe047a5-1ac7-451a-b6f7-414f846d7854"
      unitRef="usd">329000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzE3LTEtMS0xLTI1MTMy_d774f2d0-967d-408c-8200-cf3ed2544552"
      unitRef="usd">1000000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzE3LTMtMS0xLTI1MTMy_1a249460-b6f1-40c9-bd6b-4e2b8e62a7af"
      unitRef="usd">962000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzE4LTEtMS0xLTI1MTMy_6375e1f2-5af0-42c9-bdba-a41dca79982b"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTo2MzM2N2ZhYzNhNzQ0MGRiOTZhMGE2NGEzMjk5YzEyZi90YWJsZXJhbmdlOjYzMzY3ZmFjM2E3NDQwZGI5NmEwYTY0YTMyOTljMTJmXzE4LTMtMS0xLTI1MTMy_5e32fd8c-7ad3-49ca-8cf8-a4800a62a73b"
      unitRef="usd">105000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzEwOTk1MTE2MzUzMzM_b63010e8-a5d3-4c65-8e94-bb0d67ecb5c0"
      unitRef="usd">16400000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzEwOTk1MTE2MzUzMzc_2ce84cd9-2d6b-44e0-a115-34985cea42e5"
      unitRef="usd">9000000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzEwOTk1MTE2NTcwNTg_5d3ce7b8-bc6c-4a31-a845-ce950d3af9e7"
      unitRef="usd">7400000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzEwOTk1MTE2NTcwODM_6f396888-cd97-4373-88c3-ca9ad4172f21"
      unitRef="usd">2000000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzQ5NDc4MDIzNTI2Mjk_6ead6adf-a21b-461e-8d56-f709e498bd66"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzEwOTk1MTE2NTcxMDE_725c53df-c8d9-48db-8cc6-6499b6495947"
      unitRef="usd">3700000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="i953fa6bcb0484159a13e9510ac6b2979_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzEwOTk1MTE2NTcwOTM_6b528eaa-fd85-41b7-ab9b-e79ccfc9cfc7"
      unitRef="usd">3600000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="i54af2501ba814130a81804ac7e8a999c_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzEwOTk1MTE2NTcxMDk_c6730776-867d-4f12-a35e-0c264acf1b63"
      unitRef="usd">2600000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90ZXh0cmVnaW9uOmM3ZDRkNjI5NGYwZTQxZjQ5MWJjOTc2M2NkNDg1MGJlXzQ5NDc4MDIzMzAxMTM_8ff93003-17bf-4e0f-b1f4-99de412d952b">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company has the following activity relating to unrecognized tax benefits (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Beginning balance&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,522&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Gross decreases&#x2014;Tax Positions in Prior Periods&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Gross increases&#x2014;Tax Positions in Current Period&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,111&#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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,522&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTplYmFkMmU0YTYyYzY0MWZkYjU0ZGRlM2E2NWYyMzkxYi90YWJsZXJhbmdlOmViYWQyZTRhNjJjNjQxZmRiNTRkZGUzYTY1ZjIzOTFiXzItMS0xLTEtMjUxMzI_4f8eff20-7d64-4b76-b1c1-f165bb6bff94"
      unitRef="usd">2522000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ie2db5cdde30f4eeb88b023bdc59ea51c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTplYmFkMmU0YTYyYzY0MWZkYjU0ZGRlM2E2NWYyMzkxYi90YWJsZXJhbmdlOmViYWQyZTRhNjJjNjQxZmRiNTRkZGUzYTY1ZjIzOTFiXzItMy0xLTEtMjUxMzI_1bc364ec-7fa1-4c05-8ebb-b48903318d8c"
      unitRef="usd">1921000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTplYmFkMmU0YTYyYzY0MWZkYjU0ZGRlM2E2NWYyMzkxYi90YWJsZXJhbmdlOmViYWQyZTRhNjJjNjQxZmRiNTRkZGUzYTY1ZjIzOTFiXzMtMS0xLTEtNDUyOTg_d27a1c69-e64f-415a-a718-4a3c094b2644"
      unitRef="usd">25000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTplYmFkMmU0YTYyYzY0MWZkYjU0ZGRlM2E2NWYyMzkxYi90YWJsZXJhbmdlOmViYWQyZTRhNjJjNjQxZmRiNTRkZGUzYTY1ZjIzOTFiXzMtMy0xLTEtNDUyOTg_5cb7de17-46ca-498f-a51d-27806ba0ef56"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTplYmFkMmU0YTYyYzY0MWZkYjU0ZGRlM2E2NWYyMzkxYi90YWJsZXJhbmdlOmViYWQyZTRhNjJjNjQxZmRiNTRkZGUzYTY1ZjIzOTFiXzMtMS0xLTEtMjUxMzI_a702c161-9632-42ce-bff4-9b4ff8e1c9bd"
      unitRef="usd">614000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTplYmFkMmU0YTYyYzY0MWZkYjU0ZGRlM2E2NWYyMzkxYi90YWJsZXJhbmdlOmViYWQyZTRhNjJjNjQxZmRiNTRkZGUzYTY1ZjIzOTFiXzMtMy0xLTEtMjUxMzI_13087349-72c8-450f-9bf4-2c99f2524240"
      unitRef="usd">601000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTplYmFkMmU0YTYyYzY0MWZkYjU0ZGRlM2E2NWYyMzkxYi90YWJsZXJhbmdlOmViYWQyZTRhNjJjNjQxZmRiNTRkZGUzYTY1ZjIzOTFiXzQtMS0xLTEtMjUxMzI_f42ab1e2-ede5-47f6-81c7-d67b5a081542"
      unitRef="usd">3111000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTEvZnJhZzpjN2Q0ZDYyOTRmMGU0MWY0OTFiYzk3NjNjZDQ4NTBiZS90YWJsZTplYmFkMmU0YTYyYzY0MWZkYjU0ZGRlM2E2NWYyMzkxYi90YWJsZXJhbmdlOmViYWQyZTRhNjJjNjQxZmRiNTRkZGUzYTY1ZjIzOTFiXzQtMy0xLTEtMjUxMzI_b73f0965-eddb-4498-a579-77730b42ebb9"
      unitRef="usd">2522000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:DefinedBenefitPlanTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90ZXh0cmVnaW9uOjgzMDI4OTI3Y2JkYzRmYjVhNzE5MDJmOWVkZjhjMzdmXzQ5NDc4MDIzMjY1MTE_2b9920d0-f259-4423-9a69-a98abf54f97a">DEFINED CONTRIBUTION PLAN AND BENEFIT PLANSThe Company has a 401(k)&#160;plan to provide defined contribution retirement benefits for all employees. Employees may elect to contribute a portion of their pretax compensation to the 401(k)&#160;plan, subject to the U.S. Internal Revenue Service annual contribution limit. Employee contributions are fully vested at all times. For the year ended December&#160;31, 2021, the Company contributed $0.4 million to the 401(k)&#160;plan. The Company did not provide any matching contributions under its 401(k) plan for the year ended December&#160;31, 2020.&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company has two defined benefit pension plans (the &#x201c;Plans&#x201d;), and both Plans are outside the United States. One of the defined benefit plans was assumed as a result of the acquisition of Magillem during the year ended December&#160;31, 2020. The Plans cover all employees of the Company&#x2019;s French subsidiary in accordance with French regulations. The Plans are unfunded and accounted for under the credit method and is subject to an actuarial measurement of what the Company needs at the present time to cover the future pension liabilities, including expected future salary increases.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Components of the net periodic pension costs and changes in benefit obligations under the Plan were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Service costs&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;106&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Interest costs&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:'Arial',sans-serif;font-size:9.5pt;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total net periodic pension cost&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;109&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;35&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of 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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Benefit obligation, beginning of year&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;717&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;194&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Assumption of pension liability due to acquisition&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Service costs&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Interest costs&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:'Arial',sans-serif;font-size:9.5pt;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Net actuarial loss&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:'Arial',sans-serif;font-size:9.5pt;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign exchange (gain) loss&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(56)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Benefit obligation, end of year, included as part of other liabilities&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;820&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted-average assumptions used to determine benefit obligations were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of 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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Discount rate&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.98&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.45&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Rate of compensation increase&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3.00&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3.00&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DefinedBenefitPlanTextBlock>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90ZXh0cmVnaW9uOjgzMDI4OTI3Y2JkYzRmYjVhNzE5MDJmOWVkZjhjMzdmXzE2NDkyNjc0NDE5OTI5_9b08b563-e80e-4d67-ab6f-8e24ee7c787c"
      unitRef="usd">400000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90ZXh0cmVnaW9uOjgzMDI4OTI3Y2JkYzRmYjVhNzE5MDJmOWVkZjhjMzdmXzQ5NDc4MDIzMjgxMTU_052e6fac-ce07-48e9-a964-3ba44a33f878"
      unitRef="usd">0</us-gaap:DefinedContributionPlanCostRecognized>
    <aip:NumberOfDefinedBenefitPensionPlans
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90ZXh0cmVnaW9uOjgzMDI4OTI3Y2JkYzRmYjVhNzE5MDJmOWVkZjhjMzdmXzU0OQ_07f33c4c-934b-4182-9b6b-c4fa09f10a39"
      unitRef="plan">2</aip:NumberOfDefinedBenefitPensionPlans>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90ZXh0cmVnaW9uOjgzMDI4OTI3Y2JkYzRmYjVhNzE5MDJmOWVkZjhjMzdmXzQ5NDc4MDIzMjY1MTI_3e1e4491-e36d-4a94-b330-4a03e3d562fa">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Components of the net periodic pension costs and changes in benefit obligations under the Plan were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Service costs&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;106&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Interest costs&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:'Arial',sans-serif;font-size:9.5pt;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Total net periodic pension cost&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;109&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;35&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTo2NGQyNjNjMmE2NGI0ODBhYjc1NzRlM2EyYWIxZmRhYi90YWJsZXJhbmdlOjY0ZDI2M2MyYTY0YjQ4MGFiNzU3NGUzYTJhYjFmZGFiXzItMS0xLTEtMjUxMzI_cb63d9a1-aa8c-41ea-9ac9-887bc99538e1"
      unitRef="usd">106000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTo2NGQyNjNjMmE2NGI0ODBhYjc1NzRlM2EyYWIxZmRhYi90YWJsZXJhbmdlOjY0ZDI2M2MyYTY0YjQ4MGFiNzU3NGUzYTJhYjFmZGFiXzItMy0xLTEtMjUxMzI_c822728c-69a8-4c42-8a70-0a81d65963a4"
      unitRef="usd">33000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTo2NGQyNjNjMmE2NGI0ODBhYjc1NzRlM2EyYWIxZmRhYi90YWJsZXJhbmdlOjY0ZDI2M2MyYTY0YjQ4MGFiNzU3NGUzYTJhYjFmZGFiXzMtMS0xLTEtMjUxMzI_571e8317-12ba-4110-941a-1c24dc3757cb"
      unitRef="usd">3000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTo2NGQyNjNjMmE2NGI0ODBhYjc1NzRlM2EyYWIxZmRhYi90YWJsZXJhbmdlOjY0ZDI2M2MyYTY0YjQ4MGFiNzU3NGUzYTJhYjFmZGFiXzMtMy0xLTEtMjUxMzI_9afee381-1a46-4041-8432-e7b5430dbf33"
      unitRef="usd">2000</us-gaap:DefinedBenefitPlanInterestCost>
    <aip:DefinedBenefitPlanPeriodicBenefitCostCreditNet
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTo2NGQyNjNjMmE2NGI0ODBhYjc1NzRlM2EyYWIxZmRhYi90YWJsZXJhbmdlOjY0ZDI2M2MyYTY0YjQ4MGFiNzU3NGUzYTJhYjFmZGFiXzQtMS0xLTEtMjUxMzI_147d9775-692e-43b2-8d92-a54e8e7a446d"
      unitRef="usd">109000</aip:DefinedBenefitPlanPeriodicBenefitCostCreditNet>
    <aip:DefinedBenefitPlanPeriodicBenefitCostCreditNet
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTo2NGQyNjNjMmE2NGI0ODBhYjc1NzRlM2EyYWIxZmRhYi90YWJsZXJhbmdlOjY0ZDI2M2MyYTY0YjQ4MGFiNzU3NGUzYTJhYjFmZGFiXzQtMy0xLTEtMjUxMzI_53b5cadf-e9f0-44ae-a8a3-5e3bd171949d"
      unitRef="usd">35000</aip:DefinedBenefitPlanPeriodicBenefitCostCreditNet>
    <us-gaap:ScheduleOfBenefitObligationsInExcessOfFairValueOfPlanAssetsTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90ZXh0cmVnaW9uOjgzMDI4OTI3Y2JkYzRmYjVhNzE5MDJmOWVkZjhjMzdmXzQ5NDc4MDIzMjY1MTY_1e11b0a1-d4ab-4921-9837-6859fd4f7b7f">&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of 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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Benefit obligation, beginning of year&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;717&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;194&#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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Assumption of pension liability due to acquisition&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Service costs&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Interest costs&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:'Arial',sans-serif;font-size:9.5pt;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Net actuarial loss&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:'Arial',sans-serif;font-size:9.5pt;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Foreign exchange (gain) loss&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(56)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Benefit obligation, end of year, included as part of other liabilities&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;820&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfBenefitObligationsInExcessOfFairValueOfPlanAssetsTableTextBlock>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzItMS0xLTEtMjUxMzI_f738013d-87dc-466a-bfac-d8b45280f245"
      unitRef="usd">717000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="ie2db5cdde30f4eeb88b023bdc59ea51c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzItMy0xLTEtMjUxMzI_81db80e0-d6b1-455d-b098-e2752541b162"
      unitRef="usd">194000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBusinessCombinationsAndAcquisitionsBenefitObligation
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzMtMS0xLTEtMjUxMzI_36e968c5-d9d2-4abd-817e-b0ae6d3ba7c9"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanBusinessCombinationsAndAcquisitionsBenefitObligation>
    <us-gaap:DefinedBenefitPlanBusinessCombinationsAndAcquisitionsBenefitObligation
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzMtMy0xLTEtMjUxMzI_949f78be-1c8a-4bc2-bb1d-bb5f66af1ef4"
      unitRef="usd">449000</us-gaap:DefinedBenefitPlanBusinessCombinationsAndAcquisitionsBenefitObligation>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzQtMS0xLTEtMjUxMzI_2667dde6-413b-4624-a618-4d21241e9a3e"
      unitRef="usd">106000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzQtMy0xLTEtMjUxMzI_3d187730-544d-4507-afe0-06cf671dd300"
      unitRef="usd">33000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzUtMS0xLTEtMjUxMzI_b0715e5a-1246-4f87-ba98-8cbd06566b9f"
      unitRef="usd">3000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzUtMy0xLTEtMjUxMzI_f1100478-717f-4e04-a6b4-f5adf28a68b4"
      unitRef="usd">2000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzYtMS0xLTEtMjUxMzI_a02ea067-0cdc-4ffd-a14a-c1e10c8ca41c"
      unitRef="usd">-50000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzYtMy0xLTEtMjUxMzI_faba80f4-49af-4ef8-b923-ceb06a4fa018"
      unitRef="usd">-11000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanForeignCurrencyExchangeRateChangesBenefitObligation
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzctMS0xLTEtMjUxMzI_70307a41-bbab-417a-b861-21f6b40b1b22"
      unitRef="usd">-56000</us-gaap:DefinedBenefitPlanForeignCurrencyExchangeRateChangesBenefitObligation>
    <us-gaap:DefinedBenefitPlanForeignCurrencyExchangeRateChangesBenefitObligation
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzctMy0xLTEtMjUxMzI_2f5cc148-4f70-4405-9be1-cc70f703cd68"
      unitRef="usd">28000</us-gaap:DefinedBenefitPlanForeignCurrencyExchangeRateChangesBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzgtMS0xLTEtMjUxMzI_70ea908a-1c25-40bf-9b3a-42874a1fe925"
      unitRef="usd">820000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTowMmUyNzhiYWEwNWI0MzQ3ODk2YjRjMGRlMGQ3ODQ1My90YWJsZXJhbmdlOjAyZTI3OGJhYTA1YjQzNDc4OTZiNGMwZGUwZDc4NDUzXzgtMy0xLTEtMjUxMzI_1dcaeb31-1051-48a4-996c-23548aa949d0"
      unitRef="usd">717000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:ScheduleOfAssumptionsUsedTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90ZXh0cmVnaW9uOjgzMDI4OTI3Y2JkYzRmYjVhNzE5MDJmOWVkZjhjMzdmXzQ5NDc4MDIzMjY1MTM_171ab279-c214-4ed6-98e4-08ab4616cee7">&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted-average assumptions used to determine benefit obligations were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of 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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Discount rate&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.98&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.45&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Rate of compensation increase&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3.00&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3.00&#160;&lt;/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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAssumptionsUsedTableTextBlock>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTo1MGY0M2YxNmMwOGU0MWJiYTBmOWZiNTk1ZDJjMTRhZC90YWJsZXJhbmdlOjUwZjQzZjE2YzA4ZTQxYmJhMGY5ZmI1OTVkMmMxNGFkXzItMS0xLTEtMjUxMzI_da66723a-f08b-4dd3-90df-d9c37f1d9e5d"
      unitRef="number">0.0098</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTo1MGY0M2YxNmMwOGU0MWJiYTBmOWZiNTk1ZDJjMTRhZC90YWJsZXJhbmdlOjUwZjQzZjE2YzA4ZTQxYmJhMGY5ZmI1OTVkMmMxNGFkXzItMy0xLTEtMjUxMzI_06dab6ab-0736-4b73-b7b7-01d500c31f49"
      unitRef="number">0.0045</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTo1MGY0M2YxNmMwOGU0MWJiYTBmOWZiNTk1ZDJjMTRhZC90YWJsZXJhbmdlOjUwZjQzZjE2YzA4ZTQxYmJhMGY5ZmI1OTVkMmMxNGFkXzMtMS0xLTEtMjUxMzI_f718f7c7-8811-4f92-8043-00ca2a9fde50"
      unitRef="number">0.0300</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTQvZnJhZzo4MzAyODkyN2NiZGM0ZmI1YTcxOTAyZjllZGY4YzM3Zi90YWJsZTo1MGY0M2YxNmMwOGU0MWJiYTBmOWZiNTk1ZDJjMTRhZC90YWJsZXJhbmdlOjUwZjQzZjE2YzA4ZTQxYmJhMGY5ZmI1OTVkMmMxNGFkXzMtMy0xLTEtMjUxMzI_ef56eea9-288e-4406-8b9c-51d159766506"
      unitRef="number">0.0300</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzQ5NDc4MDIzMjU5MDA_25048440-a657-4d1f-aca3-681fe4fc58b5">RELATED PARTY TRANSACTIONS&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company defines related parties as directors, executive officers, nominees for director, stockholders that have significant influence over the Company, or are a greater than 10% beneficial owner of the Company&#x2019;s capital and their affiliates or immediate family members. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;In November 2020, the Company entered into a lease agreement with Isabelle Geday, a member of the Board of Directors. The lease payments were $0.2&#160;million and less than $0.1&#160;million for the years ended December&#160;31, 2021 and 2020, respectively. In addition, the Company signed a consulting agreement with Ms. Geday on December 1, 2021, which was subsequently assigned to Magillem Design Services S.A., effective January 10, 2022. Prior to signing the consulting agreement, Ms. Geday was paid as an executive employee of the Company from December 1, 2020 through November 30, 2021. As a consultant, Ms. Geday will provide services for an initial three-year term and is eligible to receive $26,445 per month for the first 12 months of the consulting term and $19,445 per month for the remaining 24 months of the consulting term. For the year ended December&#160;31, 2021, the Company paid Ms. Geday less than $0.1&#160;million for consulting services. Lastly, the 455,000 stock options and 62,200 RSUs granted in connection with Ms. Geday&#x2019;s prior employment and 6,250 RSUs granted as a member of the Board of Directors of the Company continue to vest.&lt;/span&gt;&lt;/div&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="ib89257013e40401c932ceea524827e07_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzg3OTYwOTMwMjkxODM_9fd8ccf3-acf9-465e-a354-cedef59aa38c"
      unitRef="usd">200000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i1c24e526ba0742a58a9d2d219927b397_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzg3OTYwOTMwMjkxOTc_d9f202bb-b84e-41c1-856b-1313348d93dd"
      unitRef="usd">100000</us-gaap:OperatingLeasePayments>
    <aip:RelatedPartyTransactionAgreementTerm
      contextRef="i391f5fcbf3864b7987f1046ce7df1dbc_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzg3OTYwOTMwMjkyOTM_4f6411f6-4085-4da6-a569-9e64326ecb1f">P3Y</aip:RelatedPartyTransactionAgreementTerm>
    <aip:DueToRelatedPartiesMonthlyAmount
      contextRef="i369228f1f1064e3bbe0969d778fd603a_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzg3OTYwOTMwMjkyMTE_30286bef-2b56-4cff-81fe-15c12da3a35f"
      unitRef="usd">26445</aip:DueToRelatedPartiesMonthlyAmount>
    <aip:RelatedPartyTransactionAgreementTerm
      contextRef="ie6990af63a344a8b9c70a7d9090d751e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzg3OTYwOTMwMjkyMTk_07fee6ff-9d05-4931-98fa-c46351eeec8d">P12M</aip:RelatedPartyTransactionAgreementTerm>
    <aip:DueToRelatedPartiesMonthlyAmount
      contextRef="i456ccc7e0b894d3782c0c592ad387b16_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzg3OTYwOTMwMjkyMjE_de0c82fa-e9aa-4fc5-a234-2f4b57bde045"
      unitRef="usd">19445</aip:DueToRelatedPartiesMonthlyAmount>
    <aip:RelatedPartyTransactionAgreementTerm
      contextRef="ie05c21cc42104c5dbcc5972f6af31688_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzg3OTYwOTMwMjkyMjk_4ea235a5-8926-4742-8261-5d18c9b1dbf5">P24M</aip:RelatedPartyTransactionAgreementTerm>
    <us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty
      contextRef="i391f5fcbf3864b7987f1046ce7df1dbc_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzg3OTYwOTMwMjkyNTc_7a7fa260-b538-4040-95f3-1ae399fae946"
      unitRef="usd">100000</us-gaap:RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i3bcdaefb507941b88d76fbcd9aed1ff9_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzQ5NDc4MDIzMzI2Njc_d3e0b6b4-8da4-4443-9a10-f2ed4a2dc21e"
      unitRef="shares">455000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i32bc3da5b9f949ae87dad7dff8523b64_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzQ5NDc4MDIzMzI2NzY_3a0cc5f5-c917-4092-a3b5-a2f496e23833"
      unitRef="shares">62200</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i5d1692a8fb8c44cca8c1f6fb4e61f957_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNTcvZnJhZzo4ZjQ2MjY2YjRiMTU0YzAwODQ1NTEzZDE5NWZmZTFkZS90ZXh0cmVnaW9uOjhmNDYyNjZiNGIxNTRjMDA4NDU1MTNkMTk1ZmZlMWRlXzQ5NDc4MDIzMzI2ODQ_97a83f56-a3e1-4469-bc31-22c907a4fbe4"
      unitRef="shares">6250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90ZXh0cmVnaW9uOmIxNjBiYzcyYTI5ZjQ3OWE4YTc5YmU1N2YyNDc2MzA2Xzg3OTYwOTMwMjMzNDA_74f01cf4-8ab6-4865-8830-969896d7613f">SEGMENT AND GEOGRAPHIC INFORMATION&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s CODM, reviews operating results on an aggregate basis and manages the Company&#x2019;s operations as a whole for the purpose of evaluating financial performance and allocating resources. The Company thus operates in one reportable segment which, as more fully described in &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#0000ff;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i3fa13a15bd8b479cba6a25d256add0ef_115" style="background-color:#ffffff;color:#0000ff;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 2&lt;/a&gt;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;, provides NoC interconnect semiconductor IP and IP deployment technology for a wide range of applications.&lt;/span&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Refer to &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#0000ff;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i3fa13a15bd8b479cba6a25d256add0ef_115" style="background-color:#ffffff;color:#0000ff;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 2 &lt;/a&gt;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;for information about customers which account for more than 10% of total revenue. Refer to &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#0000ff;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i3fa13a15bd8b479cba6a25d256add0ef_118" style="background-color:#ffffff;color:#0000ff;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 3&lt;/a&gt;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt; for a summary of revenue by major product and service group. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes revenues by geographic area based on customer location (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:46.778%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.263%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.263%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.263%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.263%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.531%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="24" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Americas&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;16,433&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;43.4&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10,459&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;32.9&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Asia Pacific&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;16,748&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;44.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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline"&gt;(2)&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;18,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;59.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;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:'Arial',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Europe, Middle East&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,683&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;12.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;37,864&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;31,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1)&#160;United States&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;16,311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;43.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;31.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1)&#160;Other Americas *&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(2)&#160;China&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;27.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;44.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(2)&#160;Other Asia *&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,491&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;17.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;*&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:14.89pt"&gt;Other countries individually less than 10%&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes property and equipment, net by geographic area (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.085%"/&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="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of 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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;United States&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,626&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;66.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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,834&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;77.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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;France&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;32.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;21.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding: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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,438&#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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,365&#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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90ZXh0cmVnaW9uOmIxNjBiYzcyYTI5ZjQ3OWE4YTc5YmU1N2YyNDc2MzA2XzQ5NDc4MDIzMjYxMjc_0794bd6c-fddd-475d-bdcf-6340502d5ae0"
      unitRef="segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90ZXh0cmVnaW9uOmIxNjBiYzcyYTI5ZjQ3OWE4YTc5YmU1N2YyNDc2MzA2Xzg3OTYwOTMwMjMzNDE_5501cace-6750-46d2-b2f4-fc30b95c0c71">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes revenues by geographic area based on customer location (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:46.778%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.263%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.263%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.263%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.263%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.531%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="24" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Americas&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;16,433&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;43.4&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10,459&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;32.9&#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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Asia Pacific&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;16,748&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;44.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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline"&gt;(2)&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;18,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;59.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;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:'Arial',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Europe, Middle East&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,683&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;12.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;37,864&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;31,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1)&#160;United States&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;16,311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;43.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;31.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(1)&#160;Other Americas *&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(2)&#160;China&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;10,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;27.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;44.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(2)&#160;Other Asia *&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,491&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;17.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;*&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:14.89pt"&gt;Other countries individually less than 10%&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i779228482b0d456f84423031cce376cf_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzItMS0xLTEtMjUxMzI_b7059c62-d9e7-4190-b04f-10db75633293"
      unitRef="usd">16433000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8a5a73445f964db6a810cf890bc92389_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzItMy0xLTEtMjUxMzI_5688f793-386b-4620-b064-c038f42ed97f"
      unitRef="number">0.434</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8ef261ab17204488b19ea6e4fc4d2713_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzItNS0xLTEtMjUxMzI_7b1d4bcf-2afd-42f5-8432-9d07b87b5ff2"
      unitRef="usd">10459000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iebc7cfebb73b448d9e324c6a977e5e68_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzItNy0xLTEtMjUxMzI_9f48de7e-0d98-4dd1-b0cc-f5a86e1d5eac"
      unitRef="number">0.329</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i89d926fa83584d7b80a440f43ddfff7f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzMtMS0xLTEtMjUxMzI_31d5f2e7-0f14-4350-94c2-02f7bc421d70"
      unitRef="usd">16748000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3ac51a329d584407b0d06a0f18e99a1d_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzMtMy0xLTEtMjUxMzI_47a524b9-61ce-4a81-a9c9-a8a1dcff2bc5"
      unitRef="number">0.442</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id6b5771d1a7f45d98f665819b9d2b021_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzMtNS0xLTEtMjUxMzI_88defb93-1a73-45b5-b050-7d2a13e5ebb3"
      unitRef="usd">18896000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i7f45eb67001f454bbc9cefded34051de_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzMtNy0xLTEtMjUxMzI_20c2d9fc-2b97-475a-81b4-bb1811b408de"
      unitRef="number">0.594</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i75363b44ae5744d6ab879ac665cf08d2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzQtMS0xLTEtMjUxMzI_16c027cb-b25e-449d-b8d0-1743e8f35b56"
      unitRef="usd">4683000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i966761209a2443e4b1ffa4ae09028593_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzQtMy0xLTEtMjUxMzI_af61d6b9-5893-4520-a560-74ececb81064"
      unitRef="number">0.124</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ida9994915372415f9de6bde208f112c6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzQtNS0xLTEtMjUxMzI_efffc2e5-662c-4e13-9721-653488ebb1a6"
      unitRef="usd">2457000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i548c62d17acd41c5bdce96be0e5e2730_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzQtNy0xLTEtMjUxMzI_21887ef1-e227-48cc-9d3f-fe94f2dbab02"
      unitRef="number">0.077</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzUtMS0xLTEtMjUxMzI_4bd2fc12-bb88-40c0-a0e7-dd465725a9d7"
      unitRef="usd">37864000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i74cdf7106ffb473aa612141c9b2f6ab1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzUtNS0xLTEtMjUxMzI_8b48b2b5-0f55-4c64-ae87-5580e0669a06"
      unitRef="usd">31812000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8072d12b9e4b465e8c68d10d16b02d19_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzYtMS0xLTEtMjUxMzI_eaae2afa-1330-4518-929d-f38a0d137da1"
      unitRef="usd">16311000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia5a5c78f94e74c9db8f96c2d09391bf4_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzYtMy0xLTEtMjUxMzI_ebc00875-66c3-4df9-bbdb-a683846d84fa"
      unitRef="number">0.431</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i895ffe6a2c3f40a58ea8f37edd586f29_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzYtNS0xLTEtMjUxMzI_a539f86e-971c-42f7-bdbc-a2c638cb02dd"
      unitRef="usd">10135000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iaf6de25d914d4fb3b2a8ed32082aa7d0_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzYtNy0xLTEtMjUxMzI_ad3c6b6b-9eed-4dd2-af3d-13eb8462ae4d"
      unitRef="number">0.319</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5f2085df3ceb4ec9956175ecf3192f50_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzctMS0xLTEtMjUxMzI_d057ba7d-7bb6-46ee-92c0-229a151d8096"
      unitRef="usd">122000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i12e5f9105aaf4940bd7f0e381fc0cfea_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzctMy0xLTEtMjUxMzI_52de05fe-4ca5-4318-9585-57a34ef30af3"
      unitRef="number">0.003</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i44e9497d65cb46e0a1b7b226b12c9f2d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzctNS0xLTEtMjUxMzI_d5ad275a-cfba-492e-b4c1-4ae10e586b5f"
      unitRef="usd">324000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia322ba61f58b404c8e88c6369fa4b0bf_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzctNy0xLTEtMjUxMzI_d14fcf0b-f8cb-443d-9dde-f5d11829e7ee"
      unitRef="number">0.010</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i213a0bddbba64478bcd5df15b28d3fc9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzgtMS0xLTEtMjUxMzI_fa179a85-b77b-4a8c-94cc-0e0ce0b252a1"
      unitRef="usd">10257000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia9ea75c202fe4fdfa3cf257a31f75b12_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzgtMy0xLTEtMjUxMzI_558f54d5-0189-4c81-a562-9b1060b17976"
      unitRef="number">0.271</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i418e5e8a24ad4b1ea00974a9053a488f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzgtNS0xLTEtMjUxMzI_c3aa3eef-c09a-4b7a-b93a-2a0ffc3be5ff"
      unitRef="usd">14283000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i22813609275c488d883bc7f8b2c7c899_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzgtNy0xLTEtMjUxMzI_c694425b-7079-4171-846c-039546fd418f"
      unitRef="number">0.449</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8eb1d5422308465c8572c91c488044ed_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzktMS0xLTEtMjUxMzI_6bfa1bdd-86c7-4b91-9ee2-bba499c15118"
      unitRef="usd">6491000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ieedb04a8f34e4b71a80f1d77ee9b264b_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzktMy0xLTEtMjUxMzI_8ea071a4-e284-48a9-b520-1b55955c180d"
      unitRef="number">0.171</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i89350dd332fe48549a592cf9c0a25139_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzktNS0xLTEtMjUxMzI_a3cde1a4-ae8c-4a66-850c-52f721dfaf0f"
      unitRef="usd">4613000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2bc786db5de04e4082c97ce4d3ca68ba_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpjZTJiYTUyZTE0MDY0ZjlhYjU4ZDc1Yjg5NDc5ZDBlYS90YWJsZXJhbmdlOmNlMmJhNTJlMTQwNjRmOWFiNThkNzViODk0NzlkMGVhXzktNy0xLTEtMjUxMzI_8fc9d59f-ffa3-454e-bdf2-1be256d856bd"
      unitRef="number">0.145</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90ZXh0cmVnaW9uOmIxNjBiYzcyYTI5ZjQ3OWE4YTc5YmU1N2YyNDc2MzA2Xzg3OTYwOTMwMjMzNDI_18a028ae-16d4-4509-9acb-34c16bacbff3">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The following table summarizes property and equipment, net by geographic area (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.085%"/&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="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of 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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;United States&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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,626&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;66.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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;1,834&#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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;77.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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;France&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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;32.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;21.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;0.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding: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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,438&#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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;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;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:'Arial',sans-serif;font-size:9.5pt;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:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,365&#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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i270bbc7e8c814f55a57cdbb4d8bc69fd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzItMS0xLTEtMjUxMzI_d15b507a-8b70-4ebc-8309-5d4e0ff1dbbb"
      unitRef="usd">1626000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8278ebb7a1bc46d2bf9ddfadcd747d3e_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzItMy0xLTEtMjUxMzI_bca0caa5-cbff-4e1c-a8e0-70aa94d12bb8"
      unitRef="number">0.667</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i2d98de4896564383a80d3a6238de2055_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzItNS0xLTEtMjUxMzI_76d21ee3-5b1b-4ea6-a9d4-f98bde7884eb"
      unitRef="usd">1834000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4ae843cbd08049d7848bf184054f62bf_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzItNy0xLTEtMjUxMzI_5c4933fa-f077-4505-8007-ccbfc52efbe6"
      unitRef="number">0.775</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i74b638eca41243a69b59520e94a87265_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzQtMS0xLTEtMjUxMzI_c168f2d3-036e-4f2f-93bd-b3e2354bbafd"
      unitRef="usd">803000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4ddef6dcae614494bcf939c1972d4d5c_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzQtMy0xLTEtMjUxMzI_692c033c-2fd2-44cd-810b-dcbf36c95be3"
      unitRef="number">0.329</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="ia20d6267e3744599a6f6f79e62036786_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzQtNS0xLTEtMjUxMzI_15cbe639-315a-4641-8178-919637b4b024"
      unitRef="usd">517000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ic6a0e9b4a3724c0196b8f8e64d692127_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzQtNy0xLTEtMjUxMzI_4a55a980-8bc9-494a-87cf-a935ecc59a42"
      unitRef="number">0.219</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i55b24624ba774251a4cab63e6593bb54_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzUtMS0xLTEtNDM0NzE_6717df9e-5e35-43a0-a8a7-e4e2d3a91cbc"
      unitRef="usd">9000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i0281435dca154d0da0e7b3e5c0587820_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzUtMy0xLTEtNDM0NzE_10363c89-6902-4d57-8db5-8adcbd444c74"
      unitRef="number">0.004</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i2ba5aac9c96f47b396f3f409c79d446f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzUtNS0xLTEtNDM0NzE_46025db3-e392-4e1c-85e2-794246ab1840"
      unitRef="usd">14000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i44b8ec3c6d014c58b16dc65e0f9788d4_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzUtNy0xLTEtNDM0NzE_aab08bad-2af8-4386-83ae-368684dc8d89"
      unitRef="number">0.006</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i986c41691cbe4d4790a9b3523d9fe01f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzUtMS0xLTEtMjUxMzI_49cc4c0f-62ea-451b-8eb3-fe5386df2be8"
      unitRef="usd">2438000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i73d4dacd033244c8adddc11f94223d8c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjAvZnJhZzpiMTYwYmM3MmEyOWY0NzlhOGE3OWJlNTdmMjQ3NjMwNi90YWJsZTpiYjkwYTQ5ZDZlOTE0MDYzOWJkNzU5OTFiYzZkMDAzZC90YWJsZXJhbmdlOmJiOTBhNDlkNmU5MTQwNjM5YmQ3NTk5MWJjNmQwMDNkXzUtNS0xLTEtMjUxMzI_f4e2de24-d323-4da7-a203-a9cefd2525a6"
      unitRef="usd">2365000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="iee757011b9ef48a8b4a5c424a971ec88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzg3OTYwOTMwMjI1MjE_4df4c489-f607-472a-9da5-e94659ac5d7c">SUBSEQUENT EVENTS&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:115%"&gt;On February 21, 2022, Arteris IP (Hong Kong) Ltd. (AHK), a wholly-owned subsidiary of the Company, entered into a Share Purchase and Shareholders Agreement (the SPA) with SME Development (Shaoxing) Venture Fund, LLP, Jiaxing Luojia Chuangzhi Investment Partnership Enterprise (Limited Partnership), Gongqing City Guinie Zhuyu No. 3 Investment Partnership (Limited Partnership) (the Investors) and Ningbo Transchip Information Consulting Partnership (Limited Partnership) (Management Co).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;The Company, the Investors and Management Co, pursuant to the SPA, will subscribe for the registered capital of TransChip Technology (Nanjing) Co., Ltd. (Transchip), a wholly-owned subsidiary of the Company. The registered capital of Transchip will increase from RMB 200,000 to RMB 196,500,000 (or approximately $31.0&#160;million). The Company will subscribe for the registered capital of RMB 79,230,000 (or approximately $12.5&#160;million), of which RMB 77,330,000 (or approximately $12.2&#160;million) of the contribution will be contributed in-kind by way of a technology license by the Company pursuant to a five-year technology license agreement and the remaining in cash.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Following the consummation of the foregoing transactions, and subject to closing terms and conditions in the SPA, it is currently anticipated that the Company will hold a 40.321% equity interest in Transchip and that Transchip will receive aggregate cash proceeds from the Investors of RMB 76,500,000 (or approximately $12.1&#160;million)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
    <aip:SharePurchaseAgreementSharesAggregateAmountOfSharesSubscribed
      contextRef="i9cfd5d102430449a887341c156c6f493_I20220220"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzQ5NDc4MDIzNDU5MDk_ada426c4-f0d6-498c-a0e5-428a01f3f1b8"
      unitRef="cny">200000</aip:SharePurchaseAgreementSharesAggregateAmountOfSharesSubscribed>
    <aip:SharePurchaseAgreementSharesAggregateAmountOfSharesSubscribed
      contextRef="i49f7c3e050344901acb1ec71a3be86b9_I20220221"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzQ5NDc4MDIzMzAxNTc_0029d0b2-dc11-47a5-b046-228e5caf74eb"
      unitRef="cny">196500000</aip:SharePurchaseAgreementSharesAggregateAmountOfSharesSubscribed>
    <aip:SharePurchaseAgreementSharesAggregateAmountOfSharesSubscribed
      contextRef="i49f7c3e050344901acb1ec71a3be86b9_I20220221"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzQ5NDc4MDIzNDU5MTg_0a1643ff-ee1a-411b-95cd-41d13d5287f7"
      unitRef="usd">31000000</aip:SharePurchaseAgreementSharesAggregateAmountOfSharesSubscribed>
    <aip:SharePurchaseAgreementSharesAggregateAmountOfSharesToBeSubscribed
      contextRef="i49f7c3e050344901acb1ec71a3be86b9_I20220221"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzQ5NDc4MDIzNDU5MzM_e3184cee-3c7e-4c8f-b25f-63041b60f053"
      unitRef="cny">79230000</aip:SharePurchaseAgreementSharesAggregateAmountOfSharesToBeSubscribed>
    <aip:SharePurchaseAgreementSharesAggregateAmountOfSharesToBeSubscribed
      contextRef="i49f7c3e050344901acb1ec71a3be86b9_I20220221"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzQ5NDc4MDIzNDU5NDU_e4b6322b-c7da-4423-80ac-8a64adae5429"
      unitRef="usd">12500000</aip:SharePurchaseAgreementSharesAggregateAmountOfSharesToBeSubscribed>
    <aip:SharePurchaseAgreementSharesAggregateAmountOfSharesContributedInKind
      contextRef="i49f7c3e050344901acb1ec71a3be86b9_I20220221"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzQ5NDc4MDIzNDU5NjA_edba30f5-e759-4ba0-b562-5bb949a0bd7a"
      unitRef="cny">77330000</aip:SharePurchaseAgreementSharesAggregateAmountOfSharesContributedInKind>
    <aip:SharePurchaseAgreementSharesAggregateAmountOfSharesContributedInKind
      contextRef="i49f7c3e050344901acb1ec71a3be86b9_I20220221"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzQ5NDc4MDIzNDU5NzI_85f84759-10e4-4e86-8fa5-d2a9bb66e7da"
      unitRef="usd">12200000</aip:SharePurchaseAgreementSharesAggregateAmountOfSharesContributedInKind>
    <aip:SharePurchaseAgreementAgreementTerm
      contextRef="i6d6bbbeef5dd4b8b834e96b94b14ce6d_D20220221-20220221"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzQ5NDc4MDIzNDU5OTU_f509800a-f716-49c1-8828-d0e7e04630b2">P5Y</aip:SharePurchaseAgreementAgreementTerm>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i3c091a7ed06f4e7e98da038feb1bedec_I20220221"
      decimals="5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzQ5NDc4MDIzNDU5OTc_be8c711a-26a7-4f93-8981-e33d4f5da656"
      unitRef="number">0.40321</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i6d6bbbeef5dd4b8b834e96b94b14ce6d_D20220221-20220221"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzQ5NDc4MDIzNDYwMDY_43f459af-5de5-48ac-a1ca-3ffca50f923a"
      unitRef="cny">76500000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i6d6bbbeef5dd4b8b834e96b94b14ce6d_D20220221-20220221"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjNmYTEzYTE1YmQ4YjQ3OWNiYTZhMjVkMjU2YWRkMGVmL3NlYzozZmExM2ExNWJkOGI0NzljYmE2YTI1ZDI1NmFkZDBlZl8xNjMvZnJhZzpkYmM0YzAwZTViNDU0NDAyYjgxNzZmNmM0MjYyYmY4My90ZXh0cmVnaW9uOmRiYzRjMDBlNWI0NTQ0MDJiODE3NmY2YzQyNjJiZjgzXzQ5NDc4MDIzNDYwMTg_9e4a046a-82d3-4279-994f-d9ab16316fa4"
      unitRef="usd">12100000</us-gaap:PaymentsToAcquireBusinessesGross>
</xbrl>
